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

标签 wpf visual-studio-2010 styles

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

如果这样做,则可以在MacBook Pro的BootCamp上的Windows XP中运行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>

最佳答案

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以来,我一直被这个错误所困扰。

关于WPF窗口样式在运行时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642220/

相关文章:

c# - WPF 堆栈面板 "Jumps"

visual-studio-2010 - VS 可扩展性架构(包 API/Visual Studio 库)

c++ - 如何断言给定的编译器选项设置为给定的值 VS2010?

android - 我想使用 android L 主题

css - JSF selectOneRadio 缩进

c# - 在 WPF 中使用 Oxyplot 进行数据绑定(bind)

C# & MySQL 多字段搜索

c# - 如何从 xaml 中该行中的模板化单元格绑定(bind)到 DataGridRow 项目?

c++ - 在这种情况下我可以忽略 C4251 警告吗?

css - 如何修复CSS3灵活布局的子元素脱离父项?