我想知道是否有可能代替我在XAML中复制代码段来定义可以链接的内容。具体来说,我所拥有的是:

<Grid>

 // Definitions

 <Label Content="Name:" />
 <Label Content="Age:" Grid.Column="1"/>
 ...
 <Grid>


现在我想要类似<Content_in_grid=nice_labels>的东西,它应该简单地复制这些标签。

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

PS:也许是另一个角度,想象一下我想用WPF创建文件属性比较程序。因此,您可以想象我必须再次复制所有这些标签,例如Filename,Date等静态标签,但是出于可维护性考虑,如果我想将Filename更改为File,那么我将不得不搜索并替换而不是一次编辑它。地点。

提前致谢。

最佳答案

将其添加到资源中:

<Window.Resources>
    <DataTemplate x:Key="MyGrid">
        <Grid>
            <Label Content="Name:" />
            <Label Content="Age:" Grid.Column="1" />
        </Grid>
    </DataTemplate>
</Window.Resources>


然后在需要的地方使用它:

<StackPanel>
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
    <ContentPresenter ContentTemplate="{StaticResource MyGrid}" />
</StackPanel>

关于c# - 如何在WPF中重用XAML标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27188734/

10-12 03:58
查看更多