HubSection 中 ListView 的 SelectionChanged
SelectionChanged for ListView inside HubSection
当我单击列表视图中的任何项目时出现此错误。
System.NullReferenceException - {"Object reference not set to an instance of an object."}
我的 MainPage.xaml 集线器代码
<Hub x:Name="MainHub" Header="My Hub">
<HubSection x:Name="Test" Header="Online" Visibility="Collapsed" Margin="0,30,0,0">
<DataTemplate>
<ListView Name="ItemData1" ItemsSource="{Binding}" SelectionChanged="Catergory_Click">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="FontSize" Value="18"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</DataTemplate>
</HubSection>
</Hub>
我有 3 个具有相同 SelectionChanged 功能的 ListView
MainPage.xaml.cs
public class RootObject
{
public int id { get; set; }
public string name { get; set; }
public string message { get; set; }
}
private void Catergory_Click(object sender, SelectionChangedEventArgs e)
{
RootObject obj = (sender as ListView).SelectedItem as RootObject;
User.Setting.AddOrUpdateValue("SectionName", obj.name);
}
相同的代码在没有集线器控件和部分的情况下也能正常工作。
将 SelectionChanged 更改为 ItemClick..现在工作正常
<Hub x:Name="MainHub" Header="My Hub" Foreground="White">
<HubSection x:Name="Test" Header="Online" Visibility="Collapsed" Margin="0,30,0,0">
<DataTemplate>
<ListView x:Name="TestListView" ItemsSource="{Binding}" ItemClick="TestListView_ItemClick" IsItemClickEnabled="True" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="textBlock" Text="{Binding name}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</HubSection>
private void TestListView_ItemClickobject sender, ItemClickEventArgs e)
{
RootObject obj = e.ClickedItem as RootObject;
User.Setting.AddOrUpdateValue("CourseSectionName", obj.name);
}
当我单击列表视图中的任何项目时出现此错误。 System.NullReferenceException - {"Object reference not set to an instance of an object."}
我的 MainPage.xaml 集线器代码
<Hub x:Name="MainHub" Header="My Hub">
<HubSection x:Name="Test" Header="Online" Visibility="Collapsed" Margin="0,30,0,0">
<DataTemplate>
<ListView Name="ItemData1" ItemsSource="{Binding}" SelectionChanged="Catergory_Click">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="FontSize" Value="18"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</DataTemplate>
</HubSection>
</Hub>
我有 3 个具有相同 SelectionChanged 功能的 ListView
MainPage.xaml.cs
public class RootObject
{
public int id { get; set; }
public string name { get; set; }
public string message { get; set; }
}
private void Catergory_Click(object sender, SelectionChangedEventArgs e)
{
RootObject obj = (sender as ListView).SelectedItem as RootObject;
User.Setting.AddOrUpdateValue("SectionName", obj.name);
}
相同的代码在没有集线器控件和部分的情况下也能正常工作。
将 SelectionChanged 更改为 ItemClick..现在工作正常
<Hub x:Name="MainHub" Header="My Hub" Foreground="White">
<HubSection x:Name="Test" Header="Online" Visibility="Collapsed" Margin="0,30,0,0">
<DataTemplate>
<ListView x:Name="TestListView" ItemsSource="{Binding}" ItemClick="TestListView_ItemClick" IsItemClickEnabled="True" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="textBlock" Text="{Binding name}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</HubSection>
private void TestListView_ItemClickobject sender, ItemClickEventArgs e)
{
RootObject obj = e.ClickedItem as RootObject;
User.Setting.AddOrUpdateValue("CourseSectionName", obj.name);
}