当前位置:  开发笔记 > 编程语言 > 正文

从没有密钥的代码创建XAML资源

如何解决《从没有密钥的代码创建XAML资源》经验,为你挑选了1个好方法。

有没有办法从代码中向ResourceDictionary添加资源而不给它一个资源键?

例如,我在XAML中有这个资源:


    
            
    

我需要从代码动态创建此资源并将其添加到TreeView ResourceDictionary.但是,在没有Key的XAML中,默认情况下,它用于所有FieldPropertyInfo类型.有没有办法在没有密钥的情况下将它添加到代码中的资源,或者有没有办法可以使用密钥并且仍然在所有FieldPropertyInfo类型上使用它?

这是我到目前为止在C#中所做的事情:

HierarchicalDataTemplate fieldPropertyTemplate = new HierarchicalDataTemplate("FieldProperyInfo");

fieldPropertyTemplate.ItemsSource = new Binding("Value.Values");

this.Resources.Add(null, fieldPropertyTemplate);

显然,将资源添加到ResourceDictionary,键null不起作用.



1> Bob King..:

使用您希望模板应用的类型作为键:

HierarchicalDataTemplate fieldPropertyTemplate = new 
    HierarchicalDataTemplate("FieldProperyInfo");

fieldPropertyTemplate.SetBinding(
   HierarchialDataTemplate.ItemSourceProperty, 
   new Binding("Value.Values");
this.Resources.Add(FieldPropertyInfo.GetType(), fieldPropertyTemplate);

您的代码无法正常工作的原因是您实际上没有设置绑定.您需要使用要绑定绑定的属性调用SetBinding.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有