2014-01-29 2 views
2

Я стараюсь избегать привязки данных, так как я не понимаю этого и должен завершить это. Но все, что я пытаюсь, похоже, не работает. Например, я бы хотел распечатать второй столбец выбранного элемента. Но все, что я вижу в google, говорит, что использовать SubItems, когда у меня нет по какой-то причине?ListView - захват значения столбца из выбранного элемента

<ListView Name="myListView" MouseDoubleClick="myListView_MouseDoubleClick_1"> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="H1" DisplayMemberBinding="{Binding Col1}"/> 
        <GridViewColumn Header="H2" DisplayMemberBinding="{Binding Col2}"/> 
        <GridViewColumn Header="H3" DisplayMemberBinding="{Binding Col3}"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 

     private void Button_Click_1(object sender, RoutedEventArgs e) 
     { 
      myListView.Items.Add(new { Col1 = "test1", Col2 = "Test2", Col3 = "test3" }); 
     } 

     private void myListView_MouseDoubleClick_1(object sender, MouseButtonEventArgs e) 
     { 
      //THIS DOESN'T WORK, SubItems doesn't exist? 
      myListView.SelectedItems[0].SubItems[0].Text.ToString(); 

     } 

ответ

5

Попробуйте ввести SelectedItem по определенному виду. После этого вы сможете получить доступ к полному набору свойств элемента. Поскольку у вас есть анонимный тип здесь, попробуйте бросить его dynamic:

var selectedItem = (dynamic)myListView.SelectedItems[0]; 
MessageBox.Show(selectedItem.Col3); 
+1

будет пытаться это, спасибо так много! должен что-то сделать, но вернется – user1189352

+1

это сработало! Спасибо! – user1189352

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