如何使用ResourceDictionary为窗口设置样式

4
我已经创建了一个名为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>

我可以帮你翻译成中文。这段内容涉及IT技术,它的意思是在App.xaml或MainWindow.xaml中这样引用它:
<Application.Resources>
    <ResourceDictionary Source="Dictionary1.xaml" />
</Application.Resources>

 <Window.Resources>
    <ResourceDictionary Source="Dictionary1.xaml" />
 </Window.Resources>

在View Designer中,窗口的背景颜色会变为红色,但是当应用程序运行时,其背景色却是默认的白色,为什么呢?该如何解决?
1个回答

1
你可以用这种方式设置其他控件的样式,除了Window!尝试为Button、Lable等设置样式,你会得到正确的结果。但是对于一个Window,你不会得到正确的结果。
看看我的另一个答案,它可能会帮助你: 如何在所有的窗口中添加一个公共控件? 你必须设置Style的x:Key,并明确地设置Window的样式: Style="{DynamicResource key_name}" 为什么View Designer显示正确的结果?这可能是一个bug。vs2012/13的xaml Designer有很多bug,你可以在msdn上搜索或提交。我已经提交了其中一个:

https://connect.microsoft.com/VisualStudio/feedbackdetail/view/925324/multibinding-report-an-issue-on-latest-vs-xaml-editor

但微软关闭了它,他们最近也不会修复它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接