首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换Wpf中的SystemColors抛出ArgumentException

替换Wpf中的SystemColors抛出ArgumentException
EN

Stack Overflow用户
提问于 2013-12-02 08:56:49
回答 1查看 464关注 0票数 1

与其为每个控件创建显式的新样式,我还以为我会在替换颜色方面取得很大的进步。我尝试将下面的内容添加到我的App.xaml中。在这种情况下,它应该与原来的Windows 7 Aero颜色相对应,所以不应该看到任何更改。

奇怪的是,我得到了以下异常,为什么它似乎使用颜色值作为键?我遗漏了什么?

代码语言:javascript
复制
System.ArgumentException: {"Item has already been added. Key in dictionary: '#FF000000'  Key being added: '#FF000000'"}

App.xaml

代码语言:javascript
复制
<Application x:Class="Frankenbuild.Wpf.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>

        <!-- aero original colors -->
        <SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderColor}" Color="#FFB4B4B4"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ActiveCaptionColor}" Color="#FF99B4D1"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ActiveCaptionTextColor}" Color="#FF000000"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.AppWorkspaceColor}" Color="#FFABABAB"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlColor}" Color="#FFF0F0F0"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlDarkColor}" Color="#FFA0A0A0"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlDarkDarkColor}" Color="#FF696969"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlLightColor}" Color="#FFE3E3E3"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlLightLightColor}" Color="#FFFFFFFF"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextColor}" Color="#FF000000"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.DesktopColor}" Color="#FF000000"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.GradientActiveCaptionColor}" Color="#FFB9D1EA"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.GradientInactiveCaptionColor}" Color="#FFD7E4F2"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.GrayTextColor}" Color="#FF6D6D6D"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightColor}" Color="#FF3399FF"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextColor}" Color="#FFFFFFFF"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.HotTrackColor}" Color="#FF0066CC"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.InactiveBorderColor}" Color="#FFF4F7FC"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.InactiveCaptionColor}" Color="#FFBFCDDB"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.InactiveCaptionTextColor}" Color="#FF434E54"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.InfoColor}" Color="#FFFFFFE1"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.InfoTextColor}" Color="#FF000000"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.MenuColor}" Color="#FFF0F0F0"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.MenuBarColor}" Color="#FFF0F0F0"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.MenuHighlightColor}" Color="#FF3399FF"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.MenuTextColor}" Color="#FF000000"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.ScrollBarColor}" Color="#FFC8C8C8"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.WindowColor}" Color="#FFFFFFFF"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.WindowFrameColor}" Color="#FF646464"/>
        <SolidColorBrush x:Key="{x:Static SystemColors.WindowTextColor}" Color="#FF000000"/>

    </Application.Resources>
</Application>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-02 09:08:16

尝试设置ResourceKeys .所以,不是这样的:

代码语言:javascript
复制
<SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderColor}" Color="#FFB4B4B4"/>

..。试试这个:

代码语言:javascript
复制
<SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderColorKey}" Color="#FFB4B4B4"/>

有关更多信息,请查看MSDN上的SystemColors属性页面。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20324256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档