我创建了一个名为Dictionary1.xaml
的ResourceDictionary,这里是代码:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="Red">
</Setter>
</Style>
我在App.xaml或MainWindow.xaml中引用它,如下所示:
<Application.Resources>
<ResourceDictionary Source="Dictionary1.xaml" />
</Application.Resources>
<Window.Resources>
<ResourceDictionary Source="Dictionary1.xaml" />
</Window.Resources>
在View Designer中,窗口的背景变为红色,但是当应用程序运行时,它的背景是默认的(白色),为什么?怎么做?
答案 0 :(得分:0)
您可以通过这种方式设置其他控件的样式,Window
除外!尝试为Button,Lable等设置sytle,你会得到正确的结果。但对于一个窗口,你不会。
请参阅我的另一个答案,它可能会对您有所帮助:How to add a common control on all my Windows?
您必须设置样式x:Key
并明确设置Window的样式:
Style="{DynamicResource key_name}"
视图设计器显示正确结果的原因?这可能是一个错误。 vs2012 / 13的xaml Designer有很多bug,你可以在msdn中搜索或提交。我已经提交了一个:
但ms关闭了它,最近他们不会修复它。