2012-05-15 81 views
0

这里是我想要提取enjoymentID不能获得选择列表框中

The inner data details i want to extract

像我想从数据中提取的enjoymentID有界选择的项目,但我尝试了所有的网络仍然没有可用的方法由于invalidCastException而提取它。有没有人可以帮我解决这个问题?紧急。谢谢= d

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的返回是列表数据类型,我只是绑定到列表框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]也= d

enter image description here

+0

SelectionChanged事件触发时,e.AddedItem数组的内容是什么? –

+0

请参阅打印屏幕= D – 1myb

+0

这些是特定类型的属性,e.AddedItems [0]是什么类型?你有没有尝试将e.AddedItems [0]转换为该类型?如果该投射成功,则您应该可以访问这些属性的基础属性和值。 –

回答

1

从你的屏幕截图中,阵列的第一项的类型是RoyalEnjoyment.REServiceReference.REData,如果您将e.AddedItems [0]转换为此类型,则应该可以访问各种属性值。

例如,RoyalEnjoyment.REServiceReference.REData x =(RoyalEnjoyment.REServiceReference.REData)e.AddedItems [0];