WPF - GridView,自动选择行

时间:2016-07-24 16:54:51

标签: c# wpf xaml

我有一个具有这种结构的GridView:

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

现在所有项目都在一个可观察的集合中,我想检查行的值是否被更改,然后在代码后面自动选择行。实际上我已经定义了条件,但是我无法选择将代码改为GridView的项目,有人知道怎么做?

2 个答案:

答案 0 :(得分:1)

您应该在DataGrid或ListView

中使用SelectedItem属性
 SelectedItem="{Binding Path=YourSelectedItem}"

答案 1 :(得分: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);