0
就像DataTemplates扩展或继承的模板或基本DataTemplate,所以我不必重复XAML。有没有办法让两个DataTemplates共享一些元素?
就像DataTemplates扩展或继承的模板或基本DataTemplate,所以我不必重复XAML。有没有办法让两个DataTemplates共享一些元素?
UserControls怎么样?创建一个基本的用户控件,然后扩展第二个?
<DataTemplate>
<local:MyBase />
</DataTemplate>
并将其扩展为这样吗?
<DataTemplate>
<local:MyBase />
<local:SomeOtherStuff />
</DateTemplate>
您可以嵌套DataTemplates。下面的例子是
<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>
在这种情况下,我只需要绑定到一个列表框列表,它的ItemTemplate设置为OuterTemplate模板。
<ListBox x:Name="_lbTest" Grid.Row="1" ItemTemplate="{StaticResource OuterTemplate}" ></ListBox>
我其实很喜欢将数据模板嵌套到用户控件中的想法。不幸的是,我想分享的块是外部模板,所以这种方法在我的情况下是不可能的。 – 2010-09-09 05:30:24