-1

これがenjoymentIDを抽出したい画像です

抽出したい内部データの詳細

データにバインドされた選択したアイテムから enjoymentID を抽出したいのですが、Web で利用できるすべての方法を試してみましたが、invalidCastException のために抽出できませんでした。

    private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        SuperData data = (sender as ListBox).SelectedItem as SuperData;
        ListBoxItem selected = this.listBox1.ItemContainerGenerator.ContainerFromItem(data) as ListBoxItem;
    }

これと e.AddedItem[0] を試しましたが、まだ取得できませんでした。

<Grid>
                <ListBox HorizontalAlignment="Stretch" Margin="0,0,0,0" Name="listBox1" VerticalAlignment="Stretch" SelectionChanged="listBox1_SelectionChanged">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Height="132">
                                <Image Source="{Binding image}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
                                <StackPanel Width="370">
                                    <TextBlock Text="{Binding title}" Foreground="#FFC8AB14" FontSize="28" />
                                    <!--TextBlock Text="{Binding Message}" TextWrapping="Wrap" FontSize="24" /-->
                                    <TextBlock Text="{Binding description}" TextWrapping="Wrap" FontSize="24" />
                                    <TextBlock Text="Test" TextWrapping="Wrap" FontSize="24" />
                                </StackPanel>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </Grid>

これは、データをバインドする UI 部分です。WCF からの戻り値はList<REData>データ型で、リストボックスにバインドするだけlistBox1.ItemsSource = e.Resultです。

    public int category { get; set; }
    public int categoryField { get; set; }
    public string description { get; set; }
    public string descriptionField { get; set; }
    public int enjoymentID { get; set; }
    public int enjoymentIDField { get; set; }
    public string image { get; set; }
    public string imageField { get; set; }
    public object PropertyChanged { get; set; } << i don't know what is this
    public string title { get; set; }
    public string titleField { get; set; }

これは e.AddedItem[0] 内のコンテンツでもあります。

ここに画像の説明を入力

4

1 に答える 1

1

スクリーン ショットから、配列の最初の項目の型は RoyalEnjoyment.REServiceReference.REData です。e.AddedItems[0] をこの型にキャストすると、さまざまなプロパティ値にアクセスできるはずです。

たとえば、RoyalEnjoyment.REServiceReference.REData x = (RoyalEnjoyment.REServiceReference.REData)e.AddedItems[0];

于 2012-05-15T13:46:24.550 に答える