如何重用Xaml代码模板?

如何重用Xaml代码模板?,xaml,winrt-xaml,controltemplate,Xaml,Winrt Xaml,Controltemplate,假设我有这个XAML: <StackPanel> <TextBlock Text="{Binding Path=TaskName}" /> <TextBlock Text="{Binding Path=Description}"/> <TextBlock Text="{Binding Path=Priority}"/> </StackPanel> 我想在多个地方重复使用它。 例如,作为ItemsCo

假设我有这个XAML:

  <StackPanel>
    <TextBlock Text="{Binding Path=TaskName}" />
    <TextBlock Text="{Binding Path=Description}"/>
    <TextBlock Text="{Binding Path=Priority}"/>
  </StackPanel>

我想在多个地方重复使用它。 例如,作为ItemsControl的DataTemplate,也可以作为buttons内容等内容的基础

我该怎么做呢? 我在想ASP.NET局部视图之类的东西


我不想使用usercontrol,因为我不需要任何代码。

创建一个StylesResourceDictionary.xaml并在App.xaml中创建一个staticresource。在运行时,样式将被绑定,然后您可以在应用程序中的任何位置,跨用户控件或数据模板等引用字典中的任何内容。

我使用一种样式使其工作:

<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,我可以在datatemplate(可能是ContentControl)中设置占位符项的样式来使用它。

使用样式管理它。我将创建一个新的答案来完整解释。