我有一个Datagrid,其中包含一些行,当用户选择一行时,我想选择相应的行。当我在SelectionChanged-Event中执行此操作时,行被选中(dataGrid.SelectedItems已正确设置),但这不会显示在GUI中(仅选择行标题 - 而不是行)。
如果我在SelectedCellsChanged-Event中选择其他行,则一切都按预期工作。有谁知道,两者之间发生了什么?或者更好:这样做的正确方法是什么?
以下是一些要重现的代码(BTW:使用.Net 4.5.1):
<DataGrid SelectionChanged="DataGrid_SelectionChanged" Name="myDatagrid"
ItemsSource="{Binding}" SelectedCellsChanged="myDatagrid_SelectedCellsChanged"/>
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Does not display correctly
// myDatagrid.SelectedItems.Add(somerow)
}
private void myDatagrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
// Does display correctly
// myDatagrid.SelectedItems.Add(somerow)
}