【发布时间】:2014-06-08 17:38:58
【问题描述】:
我有一个 WPF DataGrid,当我通过集合添加新项目时,我在 MVVM 中使用 C# 选择新项目(行)
// Adding the new item (which will create a new row)
ItemSourceCollection.Add(object);
// The itemSource would have refreshed, so now assign the SelectedItem of the grid
SelectedItem = ItemSourceCollection.Where(x => x.Id == Id).FirstOrDefault();
这在选择行时效果很好。但是,行颜色与用户实际单击行时的颜色不匹配。
所选行颜色的 xaml
<DataGrid.Resource>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="#FF0000"/>
</DataGrid.Resource>
那么当通过代码将新行添加到集合中时,是否可以使用此颜色?
【问题讨论】:
-
DataGrid有焦点吗?你试过myDataGrid.Focus()吗? -
上面的代码在 VIewModel 中,所以我无法访问 DataGrid 控件本身。不过,我不介意去看风景,所以我会从那个角度看一看
-
您可以在视图中设置焦点,但选定的项目在焦点和不焦点时会有不同的颜色
-
哦对了,我不知道,干杯,那我该如何设置SelectedItem的颜色呢?干杯!
-
您使用的是 .NET 4.5 吗?