2016-07-24 2 views
0

У меня есть GridView с этой структурой:WPF - GridView, выбрав строку автоматически

<GridView> 
    <GridViewColumn Header="Data" Width="150" DisplayMemberBinding="{Binding Path = Score}"/> 
</GridView> 

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

ответ

1

следует использовать свойство SelectedItem в вашем DataGrid или ListView

SelectedItem="{Binding Path=YourSelectedItem}" 
+0

Возможно удалить выбранный товар через 10 секунд? – Heisenberg

+0

Конечно, это возможно. Когда выбор изменился, запустите таймер с галочкой = 10 sn, удалите выбранный объект из вашей наблюдаемой коллекции, и ваше сделанное – Ugur

1

Если связать сетку с observablecollection, то я думаю, что вы можете использовать CollectionChanged событие для обнаружения, если/сбор данных изменен.

Вот пример:

/// <summary> 
/// The collection of drivers just changed: add or remove 
/// </summary> 
/// <param name="sender">Sernder of the Event.</param> 
/// <param name="e">Event Arguments.</param> 
private void Drivers_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) 
{ 
    // Only Delete 
    if (e.Action == NotifyCollectionChangedAction.Remove) 
    { 
     foreach (FormulaOneDriver driver in e.OldItems) 
     { 
      driver.Delete(); 
     } 
    } 
} 

Для того, чтобы использовать его зарегистрировать событие в конструктор.

ObservableCollection<FormulaOneDriver> drivers = this.DriversDataGrid.ItemsSource as ObservableCollection<FormulaOneDriver>; 
drivers.CollectionChanged += new NotifyCollectionChangedEventHandler(this.Drivers_CollectionChanged); 
+0

возможно изменить цвет выбранного элемента? – Heisenberg

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