Как программно получить доступ к элементу управления подробностями строки сетки данных

Я у нас есть сетка данных с некоторыми определенными столбцами, а затем шаблон сведений о строке. Как получить доступ к элементу управления в шаблоне сведений о строке в коде позади? У меня есть кнопка, которую я хочу программно включить / отключить, но я не могу понять, как получить к ней доступ в приведенном ниже коде. Я видел это в MSDN:

http://msdn.microsoft.com/en-us/library/bb613579.aspx

, но это просто описание обычного шаблона данных, поэтому, когда я попытался, это не не работает Мой случай - это шаблон данных строки. Конечно, кто-то написал код для доступа к элементу управления в шаблоне сведений о строке таблицы данных, который может комментировать это (будет очень признателен).

9
задан Cœur 20 July 2017 в 05:20
поделиться

2 ответа

Хорошо, я понял, как заставить эту работу работать. Мне пришлось подправить код, опубликованный в той статье MSDN в исходном вопросе ....

DataGridRow row = (DataGridRow)(KeywordsGrid.ItemContainerGenerator.ContainerFromItem(KeywordsGrid.SelectedItem));

// Getting the ContentPresenter of the row details
DataGridDetailsPresenter presenter = FindVisualChild<DataGridDetailsPresenter>(row);

// Finding Remove button from the DataTemplate that is set on that ContentPresenter
DataTemplate template = presenter.ContentTemplate;
Button button = (Button)template.FindName("RemoveItemButton", presenter);

"KeywordsGrid" - это переменная привязан к моей сетке данных. Обратите внимание, что в моем вызове FindVisualChild я использую класс DataGridDetailsPresenter вместо ContentPresenter (это был ключ ... он заставлял метод FindVisualChild перебирать все презентаторы контента, пока я не добрался до одного для деталей строки).

8
ответ дан 3 November 2019 в 01:52
поделиться

Можете ли вы определить (или уже существует) свойство для типа объекта, отображаемого в сетке, которое представляет включенное состояние кнопки? Если да, то было бы намного проще изменить шаблон сведений о строке, чтобы привязать свойство IsEnabled кнопки к этому свойству.

1
ответ дан 3 November 2019 в 01:52
поделиться
Другие вопросы по тегам:

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