我的WPF应用程序中有以下对象结构(简化):
主窗口
<Window>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedResources>
<ResourceDictionary Source="Styles.xaml" />
</ResourceDictionary.MergedResources>
</ResourceDictionary>
</Window.Resources>
<ContentControl>
<ContentControl.Resources>
<DataTemplate DataType="{x:Type local:MyViewModel}">
<local:MyEditor />
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
...
然后,编辑:
<UserControl>
<!-- No resources here - getting styles from parent -->
...
</UserControl>
主窗口中的资源是动态管理的(在某些情况下我清除它们并加载另一个集合以匹配应用程序的主题),所以我不能在UserControl
中嵌入样式(否则我将不得不动态加载UserControl
中的样式。当然,除了事实之外,我实际上甚至不必将这些样式嵌入到用户控件中,因为它会从父级中获取它们。
但是
如果我没有在XAML中指定资源的链接,那么设计师看起来非常悲伤(尽管UserControl结构复杂):
有没有办法仅为设计师提供有关相关资源的信息?