【发布时间】:2019-05-12 17:00:32
【问题描述】:
我创建了一个 Window 样式 (WPF) 并将其作为 dll 添加到我的项目中 这种风格在我运行程序时会正确显示,但不会出现在设计器中。
我已经用谷歌搜索了,但没有一个解决方案有效
测试 1:
// Window //
Style="{DynamicResource HVE_Window}"
// Window.Resources //
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/GlobalHive.Styles;component/HiveWindow.xaml"/>
</ResourceDictionary.MergedDictionaries>
结果:
Error: 'Window' TargetType doesn not match type of element 'WindowInstance'
-> But it runs and display correctly there
测试 2:
// Window //
Style="{DynamicResource MyWindow}"
// Window.Resources //
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/GlobalHive.Styles;component/HiveWindow.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="MyWindow" TargetType="{x:Type Window}" BasedOn="{StaticResource HVE_Window}" />
结果:
No Error:
Still doesn't display in the designer, still shows up if i run the program
测试 3:
Both versions but added to application resources
它的外观:
它在设计器内部的外观:
【问题讨论】:
-
您是否尝试从 DynamicResource 更改为 StaticResource?
-
是的,在设计器中它告诉我与测试 1 相同的错误并且它不再运行 - 异常:找不到名为“HVE_Window”的资源。
-
@Sascha:你使用的是什么版本的 Visual Studio?
-
@Jackdaw Visual Studio 社区 2019 16.0.2
-
@Sascha:你能多放一点源来模拟这个问题吗?实际上,这种情况对我有用...
标签: c# wpf window window-style