Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换Wpf中的SystemColor会引发异常_Wpf - Fatal编程技术网

替换Wpf中的SystemColor会引发异常

替换Wpf中的SystemColor会引发异常,wpf,Wpf,我没有为每个控件创建显式的新样式,我想我只需要替换颜色就可以走很长的路。我尝试将以下内容添加到我的App.xaml。在这种情况下,它应该与Windows 7 Aero的原始颜色相对应,因此不应看到任何更改 奇怪的是,我得到了以下异常,为什么它似乎使用颜色值作为键?我错过了什么 System.ArgumentException: {"Item has already been added. Key in dictionary: '#FF000000' Key being added: '#FF0

我没有为每个控件创建显式的新样式,我想我只需要替换颜色就可以走很长的路。我尝试将以下内容添加到我的App.xaml。在这种情况下,它应该与Windows 7 Aero的原始颜色相对应,因此不应看到任何更改

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

System.ArgumentException: {"Item has already been added. Key in dictionary: '#FF000000'  Key being added: '#FF000000'"}
App.xaml

<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>

尝试设置
ResourceKey
s。。。因此,与此相反:

<SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderColor}" Color="#FFB4B4B4"/>

。。。试试这个:

<SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderColorKey}" Color="#FFB4B4B4"/>

有关更多信息,请查看MSDN上的页面