【问题标题】:Code to access resource inside ResourceDictionary with PRISM+Silverlight使用 PRISM+Silverlight 访问 ResourceDictionary 内资源的代码
【发布时间】:2011-09-05 17:00:12
【问题描述】:

在我使用 Silverlight 4 和 PRISM 开发的应用程序中,在其中一个模块上,我有一个带有 DataTemplate 的 ResourceDicionary。

有没有办法只使用 C# 代码来获取该 DataTemplate 的实例?请注意,代码应该适用于该模块内的任何类,而不仅仅是后面的控件代码。

提前致谢。

【问题讨论】:

    标签: c# silverlight module prism


    【解决方案1】:
    DataTemplate myDataTemplate = (DataTemplate)Application.Current.Resources["MyDataTemplateKey"]
    

    编辑: 下一个方法呢?:创建名为 Module 的 UserControl 作为单例。在 Xaml 中只有资源和对资源的引用。在返回用户控件资源的单例实现和属性资源背后的代码中。现在,您可以在代码中使用模块作为应用程序:

    DataTemplate myDataTemplate = (DataTemplate)Module.Current.Resources["MyDataTemplateKey"]
    

    【讨论】:

    • 这个不行,记住资源在模块里面,所以模块资源不属于应用资源。