手动实例化一个DataTemplate?

5

是否可以在没有ListBox或其他项控件的情况下,使用数据模板来处理单个项目?

我有一个数据模板,我想在xaml中实例化它,而不是在列表中,只在边框内,然后设置它的数据上下文。

类似于(伪代码):

<Window DataContext="{StaticResource Contact}">
    <!--
        Here I want to show a ContactTemplate for a single Contact
        as it would appear in an ItemsControl (ListBox etc.)
    -->
    <src:ContactTemplate Source="{Binding}"/>
</Window>
1个回答

9
您可以将ContentControlContentTemplate设置为DataTemplate。 这是您正在寻找的吗?

6
更明确地说,<ContentControl Content="{Binding}" ContentTemplate="{StaticResource ContactTemplate}" /> 表示:将绑定的内容填充到名为“ContactTemplate”的静态资源模板中,并在 ContentControl 中呈现。 - itowlson
谢谢你重新拼写,确实很有必要。 - Shimmy Weitzhandler
ContentControl->ContentTemplate是我可以应用DataTemplate的最薄类型吗? - user572559
2
实际上,ContentPresenter就是这样的。如果您的DataTemplate仅使用DataType而不是键来指定,则甚至不必在ContentPresenter上指定模板。它是隐式的。这实际上就是ItemsControl已经工作的方式。它们使用ContentPresenter作为ContainerItem的ControlTemplate的一部分。实际上是ContentPresenter在执行与模板相关的工作。 - Mark A. Donohoe

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