我有一个 Avalonia DataGrid。 ItemSource 和 SelectedItem 绑定在 axaml 中。 刷新集合后,DataGrid 失去焦点,SelectedItem 变为 null。 我想将选定的项目恢复到 DataGrid 上。 我尝试在 DataGrid_SelectionChanged 事件中设置 SelectedItem,但它没有按预期工作。
找到解决方案:
private void DataGrid_SelectionChanged(object? sender, SelectionChangedEventArgs e)
{
var indexItem = ViewList.FirstOrDefault(f => f.Id == e.RemovedItems[0].Id);
if(indexItem != null)
{
DataGrid.SelectedIndex = ViewList.IndexOf(indexItem);
}
}