说我有这个XAML:
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
我想在多个地方使用它。 例如,作为ItemsControl的DataTemplate,但也作为按钮内容的基础。
我将如何做到这一点? 我在想像ASP.NET部分视图。
我不想使用usercontrol,因为我不需要任何代码。
答案 0 :(得分:2)
我设法让它以一种使用风格的方式工作:
<Style x:Key="myStyle" TargetType="Control">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
它坚持让我使用TargetType,否则它抱怨设置模板。 我现在可以在任何控件上使用它。
如果我想将它本质地用作数据模板,我可以在datatemplate(可能是ContentControl)中设置占位符项的样式来使用它。
答案 1 :(得分:1)
创建StylesResourceDictionary.xaml并在App.Xaml中创建静态资源。在运行时,样式将被绑定,然后您可以在应用程序的任何位置,跨用户控件或数据模板等引用字典中的任何内容。