Инструментарий WPF: как прокрутить datagrid для показа выбранного пункта из кода позади?

Я попробовал следующие, все из которых перестали работать на функциональном ScrollIntoView и дают NullReferenceException:

// doesn't work
grid.SelectedItem = sItem;
grid.ScrollIntoView(sItem);

// doesn't work
grid.SelectedItem = sItem;
grid.Focus();
grid.CurrentColumn = grid.Columns[0];
grid.UpdateLayout();
grid.ScrollIntoView(sItem,grid.Columns[0]);

// doesn't work
grid.SelectedItem = sItem;
grid.UpdateLayout();
grid.ScrollIntoView(sItem);

Проблема, когда я выбираю строку из кода - позади, выбор не видим - это где-нибудь снижается на нижнюю часть. Если пользователь не прокручивает, они чувствуют, что выбор исчез. Я должен прокрутить DataGrid до такой степени, что пользователь видит выбор.

Я также попробовал "BringIntoView" также, но никакую удачу.

12
задан David Gardiner 15 June 2015 в 06:32
поделиться

2 ответа

Виртуализированная панель стека не имеет контейнера элементов, потому что контейнер элементов не существует для элемента вне представления, и поэтому была показана эта ошибка. Отключение виртуализации решает проблему на данный момент, и об ошибке было сообщено проекту инструментария codeplex.

6
ответ дан 2 December 2019 в 03:14
поделиться

Попробуйте:

grid.SelectedItem = sItem; 
grid.UpdateLayout();
grid.ScrollIntoView(grid.SelectedItem);
42
ответ дан 2 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: