【发布时间】:2012-05-09 07:54:13
【问题描述】:
面向 .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;
【问题讨论】:
-
为什么要在用户控件中定义样式?你不能把你的样式放在一个单独的资源字典里吗?
-
我猜没有特别的原因。资源不应该在那里?
-
如果你想分享它们,不。像你一样使用资源字典并将其添加到 App 的合并字典中。
-
嗯,这几乎是正确的答案。虽然不能接受评论...:P
标签: wpf xaml mergeddictionaries