在WPF中重用XAML代码

Sno*_*ake 1 c# wpf xaml

我想知道是否有可能代替我在XAML中复制代码片段来定义我可以链接到的东西.更具体地说,我所拥有的是:

<Grid>

 // Definitions

 <Label Content="Name:" />
 <Label Content="Age:" Grid.Column="1"/>
 ...
 <Grid>
Run Code Online (Sandbox Code Playgroud)

现在我想有类似的东西<Content_in_grid=nice_labels>,它应该只是复制这些标签.

注意:我不想要网格,因为这些是我想用不同属性绑定的标签.

PS:也许是一个不同的视角,想象一下我想用WPF创建一个文件属性比较程序.因此,您可以想象我必须再次复制所有这些标签,例如文件名,日期等静态标签,但为了可维护性,如果我想将文件名更改为文件,那么我将不得不搜索和替换而不是在一个中编辑它地点.

提前致谢.

Fla*_*ric 6

将其添加到资源中:

<Window.Resources>
    <DataTemplate x:Key="MyGrid">
        <Grid>
            <Label Content="Name:" />
            <Label Content="Age:" Grid.Column="1" />
        </Grid>
    </DataTemplate>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

然后在您想要的地方使用它:

<StackPanel>
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)