手动实例化DataTemplate?

Shi*_*mmy 5 wpf xaml datatemplate

是否可以将数据模板用于没有ListBox或其他项控制的单个项目?

我有一个datatemplate,我想在xaml中实例化,而不是在列表中,只是在边框内,并设置其datacontext.

像(伪)的东西:

<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>
Run Code Online (Sandbox Code Playgroud)

Rob*_*ney 8

您可以将ContentTemplatea 设置ContentControl为a DataTemplate.这就是你要找的东西吗?

  • 更明确地拼写:<ContentControl Content ="{Binding}"ContentTemplate ="{StaticResource ContactTemplate}"/>. (5认同)
  • 实际上,一个 ContentPresenter 是。如果您的 DataTemplate 仅使用 DataType 而不是键指定,您甚至不必在 ContentPresenter 上指定模板。这是隐含的。这实际上是 ItemsControld 已经工作的方式。他们使用 ContentPresenter 作为其 ContainerItem 的 ControlTemplate 的一部分。ContentPresenter 实际上在做与模板相关的工作。 (2认同)