1

私はsomリストボックスを持っていますが、SelectionChangedのx:Name="ThisID"からテキストを取得するためにsomヘルプが必要です。

私は(ListBox).SelectedItemとして送信するようなことをしましたが、それ以上に、方法がわかりません。

<ListBox ItemsSource="{Binding}"  x:Name="ListBoxD" SelectionChanged="ListBoxD_SelectionChanged" toolkit:TiltEffect.IsTiltEnabled="True" Margin="10,0,0,0">
<ListBox.ItemTemplate><DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,10">
<Border Width="80" Height="80" VerticalAlignment="Top" Background="{StaticResource PhoneAccentBrush}" Margin="0,5,0,0" Padding="5,0,5,10">
    <TextBlock Text="{Binding DeliveryNumber}" Foreground="{StaticResource PhoneContrastBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="72" />
 </Border>
 <StackPanel x:Name="StackPanelD" Orientation="Vertical" Margin="10,0,0,0">
     <TextBlock x:Name="ThisID" Text="{Binding ID}" Visibility="Collapsed"/>
     <TextBlock Text="{Binding Name}"/>
     <TextBlock TextWrapping="Wrap" FontSize="23" FontWeight="Bold" Text="{Binding AddressLine}"/>                               
  </StackPanel>

</StackPanel></DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

private void ListBoxDeliveryTo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
NavigationService.Navigate(new Uri("/Page.xaml?ID=" + ID, UriKind.Relative));
}
4

2 に答える 2

0

こんにちは、このようなコードがある場合は、FirstPage.xamal でこれを試してみましょう

 <ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="FirstListBox_SelectionChanged" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                      <StackPanel>
                          <TextBlock Text="{Binding Data}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
                      </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate></ListBox>

そしてFirtpage.xaml.csで

     private void FirstListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/newmessage.xaml?selectedItem=" + FirstListBox.SelectedIndex, UriKind.Relative));
        FirstListBox.SelectedIndex = -1;
    }

次に、Secondpage.xaml に移動します。

グリッドでこれを追加

 <TextBox x:Name="textbox1" HorizontalAlignment="Left" Text="{Binding Data}" />

Secondpage.xaml.cs にこのコードを追加します

    int index = 0;
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {

        string selectedIndex = "";
        if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
        {
            index = int.Parse(selectedIndex);
            DataContext = App.ViewModel.Items[index];
        }
        base.OnNavigatedTo(e);

    }
于 2013-03-16T07:47:35.010 に答える
0

ListBoxあなたのがタイプ の項目のコレクションにバインドされているとしましょう。これらのアイテムMyCustomItemは次のプロパティを持ちます: DeliveryNumberIDName(あなたの からわかるようにDataTemplate)。

実際にSelectionChangedは、選択されたアイテムを直接取得できます。

MyCustomItem item = (MyCustomItem)lstItems.SelectedItem;

次に、その名前を取得できます。選択した項目が null かどうかを確認してください。

于 2013-03-15T18:50:53.787 に答える