0

たとえばListBox、次のような 2 つTextBlockの s があります。

<ListBox Name="listboxNews"
         SelectionChanged="listboxNews_SelectionChanged">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Width="400"
                        Height="70">
                <TextBlock Text="{Binding Title}" name="title" />
                <TextBlock Text="{Binding Description}" name="desc" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

そして、ご覧listboxNews_SelectionChangedのとおり、最初の TextBlock の Text を選択する必要があるメソッドがあります (名前で可能であれば、テキストブロックの順序に依存しません) が、これは私が選択したものです。たとえば、最初のアイテムのタイトルが「アイテム 1」で、2 番目のアイテムが「アイテム 2」で、2 番目のアイテムをクリックすると、「アイテム 2」を取得する必要があります。listboxNews.Items で何かを試していましたが、これは正しくないと思います。手伝ってくれてありがとう。

4

2 に答える 2

0

これは、動作中の Windows Phone 8 ソリューションからのコピー アンド ペーストです。

これは、WPF でも正常にテストされました。

    private void ListBox_SelectionChanged_1(オブジェクト送信者、SelectionChangedEventArgs e)
            {
                foreach (UIElement item in (sender as ListBox).Items)
                {
                    if ((sender as ListBox).SelectedItem == item)
                    {
                        foreach (UIElement InnerItem in (item as StackPanel).Children)
                        {
                            if ((InnerItem is TextBlock) && (InnerItem as TextBlock).Name.Equals("title"))
                            {
                                MessageBox.Show((InnerItem as TextBlock).Text);
                            }
                        }
                    }
                }
            }
于 2013-05-10T21:56:43.007 に答える