将资源合并到app.xaml中?

时间:2012-05-09 07:54:14

标签: wpf xaml mergeddictionaries

定位.NET Framework 4.0。

我有一个UserControl(usercontrol.xaml),其中包含一些我希望可以从应用程序资源(app.xaml)访问的资源。 (我的UserControl在MainWindow.xaml中实例化。)

到目前为止,我已经在app.xaml中尝试了这个:

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="usercontrol.xaml"/>
</ResourceDictionary.MergedDictionaries>

但是Visual Studio抱怨这个: 查找资源字典“usercontrol.xaml”时发生错误。

问:如何将UserControl的资源添加到应用程序中,以便我可以在运行时执行此操作:

Style style = FindResource("SomeStyleDefinedInUserControl") as Style;

1 个答案:

答案 0 :(得分:1)

如果要共享它们,请将样式放在单独的资源字典中。

然后,像你一样将资源字典添加到App的合并字典中:

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="usercontrol_styles.xaml"/>
</ResourceDictionary.MergedDictionaries>

现在可以从应用程序的任何位置访问样式。