これが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] 内のコンテンツでもあります。