Можно ли сделать ItemsControl достаточно умным, чтобы изменить DataTemplate в соответствии с различными данными? - PullRequest
0 голосов
/ 31 августа 2009

Это может быть сумасшедший вопрос.

Предположим, что в коллекции есть несколько записей, некоторые из которых являются просто пустой строкой. Можно ли написать ItemsControl для использования другого DateTempalte, если содержимое является пустой строкой?

Спасибо миллион раз

Ответы [ 2 ]

4 голосов
/ 31 августа 2009

Да. Есть много способов сделать это. Наиболее распространенные: (DataTemplate + DataTrigger) или ItemTemplateSelector.

В сценарии DataTemplate + DataTrigger в DataTrigger вы обновите содержимое вашего DataTemplate с помощью установщиков. С ItemTemplateSelector вы можете на основе вашего элемента решить, какой DataTemplate использовать.

Я действительно призываю вас прочитать замечательную серию статей доктора. Wpf "ItemsControl: от A до Z" . Если вы потратите 4–6 часов на чтение сегодня, вы сэкономите гораздо больше часов спустя, когда обнаружите себя один на один с проблемами в ItemsControl (надеюсь, не раньше срока).

Более подробная информация по вашему конкретному вопросу находится здесь: 'D' для DataTemplate

1 голос
/ 31 августа 2009

Может быть, это поможет

Различные шаблоны данных для разных данных

http://www.thejoyofcode.com/Different_DataTemplates_for_different_data.aspx

это было действительно полезно для меня.

...