【发布时间】:2015-09-25 03:43:00
【问题描述】:
知道HierarchicalDataTemplate 是在资源树中的某处定义的(即,它可以在应用程序级别、style、窗口的资源中或该窗口的控件层次结构中的某处定义),以编程方式,如何确定哪个HierarchicalDataTemplate 将应用于与特定控件相关的特定数据类型?
例如,在下面的示例中,假设我们有一个 Foo 类型的对象,我们如何获得它的 HierarchicalDataTemplate——它恰好在此处定义在窗口级别——相对于 MainTreeView?
<Window ... >
<Window.Resources>
<HierarchicalDataTemplate DataType="{x:Type Foo}"
ItemsSource="{Binding Children}">
<TextBlock Text={Binding Name}" />
</HierarchicalDataTemplate>
</Window.Resources>
<TreeView x:Name="MainTreeView" />
</Window>
我尝试了以下方法,但它返回 null:
var hdt = (HierarchicalDataTemplate)MainTreeView.FindResource(typeof(Foo));
【问题讨论】:
标签: wpf resources datatemplate hierarchicaldatatemplate