0

Вот изображение я хочу, чтобы извлечь enjoymentIDНе удается получить выбранный ListBox

The inner data details i want to extract

Я хочу, чтобы извлечь enjoymentID из данных ограниченного выбранного элемента, но я попробовал все пути, доступные в Интернете до сих пор не удалось для извлечения из-за недействительного исключенияCastException. Кто-нибудь может мне помочь? СРОЧНО. Спасибо = 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> 

Это часть пользовательского интерфейса, в которой я привязываю данные. Возврат из 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

Что такое содержимое массива e.AddedItem при срабатывании события SelectionChanged? –

+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];

Смежные вопросы