0

こんにちは、以下の xaml ファイルを使用しています。アイテム ソースを含むリスト ボックスのリストがあります。選択したデータから他のページへのページ ナビゲーションが必要です。

<ListBox x:Name="NotchsList11"  Grid.ColumnSpan="2"
       Margin="0,0,0,0" Grid.Row="3" HorizontalAlignment="left" Width="720"  Grid.RowSpan="2">
    <ListBox.ItemTemplate>
        <DataTemplate>
              <StackPanel Margin="0,0,0,0"  Grid.ColumnSpan="3" x:Name="ControlsPanel"
                    Grid.Column="0"
                    Height="215"
                    VerticalAlignment="Top">
                    <StackPanel Background="#eb2427" Orientation="Horizontal">
                        <TextBlock Grid.Row="1"  FontFamily="Calibri" FontSize="34" FontWeight="Bold"  FontStyle="Normal" Margin="10,0,0,0"
                            Text="{Binding name}"
                               />               
                    </StackPanel>
                    <StackPanel VerticalAlignment="Top" Width="Auto">
                          <ListBox ItemsSource="{Binding Images}" SelectionChanged="NotchsList11_SelectionChanged"></ListBox>
               </StackPanel>
             </StackPanel>
        </ScrollViewer>         
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox> 

私の xaml.cs コード

private void NotchsList11_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   Notch selectedItemData  = NotchsList11.SelectedItem as Notch;
    if (selectedItemData != null)
    {
        NavigationService.Navigate(new Uri(string.Format("/Test.xaml?parameter={0}",selectedItemData.articleid), UriKind.Relative));
    }
}

このコードを試しましたが、選択したアイテム データが null.am になり、この問題で長い間苦労しているので、解決策を教えてください。

4

1 に答える 1

0

あなたのコードでは、SelectionChanged="NotchsList11_SelectionChanged" が NotchsList11 List の代わりに Images リストに存在します。変更されたコードを参照してください:

<ListBox x:Name="NotchsList11"  Grid.ColumnSpan="2"  SelectionChanged="NotchsList11_SelectionChanged"
   Margin="0,0,0,0" Grid.Row="3" HorizontalAlignment="left" Width="720"  Grid.RowSpan="2">
<ListBox.ItemTemplate>
    <DataTemplate>
          <StackPanel Margin="0,0,0,0"  Grid.ColumnSpan="3" x:Name="ControlsPanel"
                Grid.Column="0"
                Height="215"
                VerticalAlignment="Top">
                <StackPanel Background="#eb2427" Orientation="Horizontal">
                    <TextBlock Grid.Row="1"  FontFamily="Calibri" FontSize="34" FontWeight="Bold"  FontStyle="Normal" Margin="10,0,0,0"
                        Text="{Binding name}"
                           />               
                </StackPanel>
                <StackPanel VerticalAlignment="Top" Width="Auto">
                      <ListBox ItemsSource="{Binding Images}" IsHitTestVisible="False"/>
           </StackPanel>
         </StackPanel>
    </ScrollViewer>         
  </StackPanel>
</DataTemplate>

于 2013-04-04T09:35:12.917 に答える