Wpf 两个DataTemplates是否有共享某些元素的方法?
类似于模板或基本数据模板,这两个数据模板都扩展或继承,因此我不必复制XAML。UserControls呢?创建一个基本用户控件,然后扩展第二个Wpf 两个DataTemplates是否有共享某些元素的方法?,wpf,xaml,datatemplate,Wpf,Xaml,Datatemplate,类似于模板或基本数据模板,这两个数据模板都扩展或继承,因此我不必复制XAML。UserControls呢?创建一个基本用户控件,然后扩展第二个 <DataTemplate> <local:MyBase /> </DataTemplate> 然后像这样扩展它 <DataTemplate> <local:MyBase /> <local:SomeOtherStuff /> </DateTemplate&g
<DataTemplate>
<local:MyBase />
</DataTemplate>
然后像这样扩展它
<DataTemplate>
<local:MyBase />
<local:SomeOtherStuff />
</DateTemplate>
您可以嵌套数据模板。这里有一个例子
<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>
在本例中,我只是将一个列表绑定到一个listbox,并将其itemtemplate设置为OuterTemplate模板
<ListBox x:Name="_lbTest" Grid.Row="1" ItemTemplate="{StaticResource OuterTemplate}" ></ListBox>
我实际上更喜欢嵌套数据模板的想法,而不是将数据模板中的块提取到用户控件中。不幸的是,我想要共享的块是外部模板,所以在我的例子中,这种方法是不可能的。