WPF DataGrid:如何以编程方式更改所选行?

时间:2010-10-01 19:05:46

标签: wpf wpfdatagrid

如何以编程方式更改所选行?

我更改了所选项目和单元格,但我无法弄清楚如何突出显示整行。

注意:当用户使用鼠标或键盘选择行时,突出显示可以正常工作。

2 个答案:

答案 0 :(得分:0)

查看this页面。您需要SelectionUnitSelectionMode来指定在DataGrid中完成选择的方式。

使用SelectionUnit = FullRowSelectionMode = 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绑定到包含任何项目的集合,上面的代码将显示所选的第一个项目。