【发布时间】:2013-03-28 06:40:19
【问题描述】:
您好,我正在使用 xaml 页面,我想使用所选项目导航。
<ListBox x:Name="NotchsList11" Margin="0,0,0,0" Grid.Row="3" HorizontalAlignment="left" Width="Auto" Grid.RowSpan="2">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel VerticalAlignment="Top" Width="Auto">
<ListBox ItemsSource="{Binding Images}" Width="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" SelectionChanged="NotchsList11_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
</StackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Width="152" Height="90" Stretch="Fill" VerticalAlignment="Top">
</Image>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的 xaml.cs 页面代码如下
private void NotchsList11_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Notch selectedItemData = (sender as ListBox).SelectedItem as Notch;
if(selectedItemData != null)
{
NavigationService.Navigate(new Uri(string.Format("/Test.xaml?parameter={0}",selectedItemData.articleid), UriKind.Relative));
}
}
如果我选择任何一项我无法导航到其他页面,因为我收到错误 selectedItemData is null.so 任何人都可以帮助我吗?
【问题讨论】:
-
列表框的itemsource是什么? selectedItemData 为 null,因为转换为 Notch 可能不起作用。
-
在函数的第一行放置一个断点,并在不带引号的情况下输入即时窗口“(sender as ListBox).SelectedItem”。如果它不为null,那么你可以看到它是什么样的项目。
标签: c# listbox windows-phone