Есть ли способ для двух шаблонов данных совместно использовать некоторые элементы? - PullRequest
0 голосов
/ 08 сентября 2010

Что-то вроде шаблона или базового DataTemplate, которые оба DataTemplates расширяют или наследуют, поэтому мне не нужно дублировать XAML.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2010

Вы можете вкладывать шаблоны данных.Вот пример

<DataTemplate x:Key="InnerTemplate">
    <TextBlock Text="{Binding}" Foreground="Purple" />
</DataTemplate>

<DataTemplate x:Key="OuterTemplate">
    <StackPanel>
        <TextBlock Text="Header" Foreground="Red" />
        <ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource InnerTemplate}" />
    </StackPanel>
</DataTemplate>

В этом случае у меня просто есть список, связанный со списком, и его шаблон элемента установлен в шаблон OuterTemplate.

0 голосов
/ 08 сентября 2010

А как насчет UserControls?Создать базовый UserControl, а затем расширить второй?

<DataTemplate>
  <local:MyBase />
</DataTemplate>

И расширить его так?

<DataTemplate>
  <local:MyBase />
  <local:SomeOtherStuff />
</DateTemplate>
...