Явно обновите DataTemplate от DataTemplateSelector?

Я создал ContentControl. DataTemplateSelector к моему желаемому.
Я хочу это согласно команде или что бы то ни было, называю ContentControl к повторному выбору шаблоном от селектора или xaml или кодом.

Благодарность

18
задан Dave Clemmer 16 September 2011 в 17:32
поделиться

1 ответ

[112197978-

Я не знаю ни о каком (неклюдгическом) способе для этого: DataTemplateSeLector вызывается, когда WPF необходимо выбрать шаблон, и это разовое решение, насколько WPF обеспокоен. (Вы можете его найти, сделав WPF, подумал, что контент изменился, например, установив содержимое в NULL, а затем снова обратно - я думаю, что это будет работать, но не тестировало, но это довольно уродливы!) Если есть Хороший способ сделать это, меня тоже было бы интересно узнать!

Тем не менее, есть альтернативный способ изменить, как отображается контент, что обновляется обновление в ответ на изменения данных, и это через триггеры. Вы можете использовать DataTriggers в вашем Collection.triggers , чтобы показать и скрыть элементы в зависимости от данных содержимого. Чтобы изменить весь дисплей, вы можете E.g. Установите два визуализации в сетке и используйте триггеры для контроля, какой из них виден. Вы можете даже сделать свой шаблон данных ContentControl и использовать триггер, чтобы изменить ContentTemplate. Конечно, это зависит от критериев изменения шаблона, которые являются обязательными свойствами, которые могут не всегда быть в случае.

Вот некоторое краткое обсуждение селекторов против триггеров , хотя и в несколько разном контексте.

10
ответ дан 30 November 2019 в 06:54
поделиться
Другие вопросы по тегам:

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