Я создал несколько DataTemplates для некоторых типов данных в моем проекте для домашних животных. Эти шаблоны данных действительно круты, поскольку они работают как магия, магически преобразуя внешний вид экземпляров типов данных всякий раз, когда и где они появляются в пользовательском интерфейсе. Теперь я хочу иметь возможность изменять DataTemplate для этих типов данных в одном конкретном ListBox. Означает ли это, что мне приходится перестать полагаться на WPF, автоматически применяя шаблон данных к типам данных и назначая x: Ключ к DataTemplates, а затем применяйте шаблон/ItemTemplate в пользовательском интерфейсе с помощью этого ключа?DataTemplate для DataType - как переопределить этот DataTemplate в определенном ListBox?
ListBox содержит элементы различных DataTypes (все полученные из общего базового класса) и, как сейчас, магически работает без указания шаблонаSelector, поскольку правильный шаблон выбирается фактическим типом данных элемента в ListBox. Если бы я пошел использовать x: Key для применения DataTemplates, мне нужно было бы написать TemplateSelector?
Я новичок в этом и только экспериментирую с DataTemplates. Один момент, я думаю, ничего себе, как здорово! И тогда мне нужен другой шаблон данных для одного и того же типа данных в другом списке и оооп, я не могу этого сделать :-) Помогите пожалуйста?
DataTemplate У меня в ResourceDictionary ориентирована на конкретный тип данных и WPF применяет шаблон к любому экземпляру этого типа данных автоматически везде, где он появляется, так что даже когда я установил ItemTemplate от ListBox до {x: Null}, элементы все еще отображаются шаблонами. –
Если вы установите 'ItemTemplate' в' {x: Null} 'Я бы ожидал, что он будет использовать шаблон по умолчанию - вы все равно получите такое же поведение, если явно укажете шаблон? –
Спасибо за сообщение. Мне удалось применить другой ItemTemplate к элементам этого «специального» списка вчера, я не могу вспомнить, что именно было проблемой, это было что-то тонкое. Но часть вопроса остается - поскольку в списке есть три разных типа объектов. Для каждого из этих типов данных я указал DataTemplate, теперь, в этом конкретном списке, я бы хотел, чтобы эти типы данных выглядели по-разному. Я могу явно установить ItemTemplate, который затем переопределит те элементы данных, которые были упомянуты ранее, однако я получаю только один шаблон данных для всех трех типов. –