如何以编程方式更改所选行?
我更改了所选项目和单元格,但我无法弄清楚如何突出显示整行。
注意:当用户使用鼠标或键盘选择行时,突出显示可以正常工作。
答案 0 :(得分:0)
查看this页面。您需要SelectionUnit
和SelectionMode
来指定在DataGrid中完成选择的方式。
使用SelectionUnit = FullRow
和SelectionMode = Single
,用户一次只能选择一行。
编辑:尝试后,看起来DataGrid.SelectedItem[i]
将选择整行。不幸的是,您似乎必须在必须为DataGrid的SelectionChanged
属性创建的事件处理程序中手动设置突出显示。
答案 1 :(得分:0)
似乎SelectedItem仅在包含元素的Loaded事件(例如UserControl)之后被拾取。这似乎有效:
public partial class UserControlClass
{
public UserControlClass()
{
InitializeComponent();
Loaded += UserControlClass_Loaded;
}
void UserControlClass_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
if (YourItemsControl.Items.Count > 0)
YourItemsControl.SelectedItem = YourItemsControl.Items[0];
}
}
如果YourItemsControl绑定到包含任何项目的集合,上面的代码将显示所选的第一个项目。