内容呈现器数据模板

10

我有一个DataTemplate

<DataTemplate x:Key="myTemplate">
    ...
</DataTemplate>

我想把它用作ContentPresenterContentTemplate

<ContentPresenter Content="{Binding X}">
    <ContentPresenter.ContentTemplate >
        <!-- ????? what goes here ????-->
    </ContentPresenter.ContentTemplate>
</ContentPresenter>

我该如何在ContentPresenter中使用预定义的DataTemplate

2个回答

16

您只需要引用已定义的资源:

<ContentPresenter Content="{Binding X}" ContentTemplate="{StaticResource myTemplate}"/>

8
应该是这样的:
<ContentPresenter Content="{Binding X}" ContentTemplate="{StaticResource myTemplate}"/>

虽然我不会在ContentPresenter上定义模板,但是我仍然会根据类型选择正确的模板。


我无法为您的答案点赞,原因不明...它显示我已经投过票了。 - thumbmunkeys
在内容呈现器上使用模板的两个原因:1. 为同一对象提供单独的查看和编辑模板。2. 将视图分成两个部分,例如,在TreeViewItem模板中,您可以在“ItemsPresenter”之前和之后显示不同的部分。 - Vegar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接