Как иметь классы DataTemplates?

2

В моем приложении я хотел бы иметь DataTemplates, чтобы я мог сказать:

  • Это DataTemplates для использования в TreeView
  • Это DataTemplates для использования при показе сводки объекта
  • Это DataTemplates для использования при показе деталей

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

Теги:
wpf
datatemplate

2 ответа

2
Лучший ответ

Я не уверен, что полностью понимаю, что вы ищете, но вы должны просто определить DataTemplate в ResourceDictionary в области, наиболее подходящей для вас (приложение, окно, элемент или внешний) с x:Key типа данных, для которого они предназначены, и они будут автоматически выбираться с помощью механизма выбора шаблонов собственных данных WPF.

Например:

<Window ...>
    <Window.Resources>
        <DataTemplate x:Key="{x:Type myns:MyDataType}">
           <!-- your template definition here -->
        </DataTemplate>
    </Window.Resources>
</Window>

Теперь, когда экземпляр MyDataType встречается внутри этого окна, WPF автоматически выбирает этот шаблон для отображения своих данных.

0

вы можете установить свойство DataType DataTemplate. При запуске шаблон автоматически назначается объекту его Тип.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню