WPF窗口样式在运行时不起作用

Chr*_*ena 9 wpf styles visual-studio-2010

我在Visual Studio 2010 Express(C#)中创建了一个WPF应用程序,并将下面的文本添加到App.xaml中的Application.Resources.我在设计器中看到应用于窗口的样式,但是当我运行应用程序时,窗口背景为白色.

如果这是一个因素,在MacBook Pro上的BootCamp上运行Windows XP.

提前致谢,

基督教

    <Style TargetType="{x:Type Window}">
        <Setter Property="Background">
            <Setter.Value>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                    <GradientStop Offset="0" Color="WhiteSmoke" />
                    <GradientStop Offset="1" Color="Silver" />
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>

        <Setter Property="Padding" Value="20" />
    </Style>
Run Code Online (Sandbox Code Playgroud)

Jas*_*onD 11

Microsoft已经复制了该问题,看起来它可能是WPF 4.0中的一个错误.

https://connect.microsoft.com/VisualStudio/feedback/details/555322/global-wpf-styles-are-not-shown-when-using-2-levels-of-references

在提交错误的人完成研究之后,我获取了包含在合并资源字典中的所有单独的XAML资源文件,并将样式文本剪切并粘贴到单个UberStyles.xaml文件中.我避免使用MergedDictionaries.

这解决了问题,我的WPF 3.5应用程序的样式信息又回到了我的WPF 4.0应用程序.

在我看来,这是WPF 4.0中一个明显的错误 - 我不确定你是如何将它作为一个功能转换而且行为没有记录.我有点担心这对整个WPF 4.0平台的影响.您可能会认为这将在Visual Studio 2010版本的测试中被捕获!

无论如何,希望这会有所帮助.自从我们两周前升级到VS2010以来,我一直被这个bug吓到了.