передать фокус сетке данных после нажатия кнопки

У меня есть кнопка и датасет. Они расположены на одном окне. Мне нужно сфокусироваться на выбранной строке после нажатия кнопки. Кажется, это не так просто, как я думал.

Итак, у меня есть объект DataGridRow. Я вызываю DataGridRow.Focus(), но фокус все еще там. После прочтения этой невероятной темы я попытался использовать FocusManager, чтобы потерять фокус на кнопку, также пробовал настройки Button.IsFocusable = false, а затем снова устанавливал значение true. Также попытался сосредоточить внимание на моей строке, используя это:

var scope = FocusManager.GetFocusScope(MyDataGrid);
FocusManager.SetFocusedElement(scope, row);

Но это не помогло. Наверное, я недостаточно хорошо понимаю, как работает FocusManager. Может ли кто-нибудь дать мне понять, как сделать фокус на строке?


person Bogdan Verbenets    schedule 08.03.2012    source источник
comment
что произойдет, если вы DataGrid.Focus(), затем DataGridRow.Focus(); ИЛИ DataGrid.Focus(), затем DataGrid.SelectedIndex = -1, DataGrid.SelectedIndex = indexOfRow..   -  person Jake Berger    schedule 08.03.2012