WPF Datagrid set selected row

后端 未结 8 1374
无人共我
无人共我 2020-11-27 05:08

How do I use the Datagrid.SelectedItem to select a row programmatically?

Do I first have to create a IEnumerable of DataGridRow

8条回答
  •  星月不相逢
    2020-11-27 05:40

    I have changed the code of serge_gubenko and it works better

    for (int i = 0; i < dataGrid.Items.Count; i++)
    {
        string txt = searchTxt.Text;
        dataGrid.ScrollIntoView(dataGrid.Items[i]);
        DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(i);
        TextBlock cellContent = dataGrid.Columns[1].GetCellContent(row) as TextBlock;
        if (cellContent != null && cellContent.Text.ToLower().Equals(txt.ToLower()))
        {
            object item = dataGrid.Items[i];
            dataGrid.SelectedItem = item;
            dataGrid.ScrollIntoView(item);
            row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            break;
        }
    }
    

提交回复
热议问题