gpt4 book ai didi

wpf - 在 App.xaml 中定义颜色并用作静态资源

转载 作者:行者123 更新时间:2023-12-04 13:48:38 31 4
gpt4 key购买 nike

编辑:看起来这与我声明颜色的方式有关 - 使用十六进制值似乎可以很好地解决问题。

编辑:这是关于从 App.xaml 文件引用。如果声明为本地资源,颜色本身可以正常工作。

我创造了一种颜色:

<SolidColorBrush x:Key="TestBlue">
<SolidColorBrush.Color>
<Color R="0" G="86" B="45"/>
</SolidColorBrush.Color>
</SolidColorBrush>

并将其放入 ResourceDictionary 中。然后我在 MergedDictionary 中引用了它:

<Application.Resources>
<ResourceDictionary>
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True"/>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Colours.xaml"/>
<ResourceDictionary Source="View\Item\ItemResource.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

当我将它作为 StaticResource 应用于 Button 的背景时,它不适用:

Background="{StaticResource TestBlue}" 

当我窥探控件时,它会将背景声明为其他值: Background

如果我将其作为自身的条目(如 ViewModelLocator),它也不起作用。如果我将它放在 Window.Resources 中,它确实有效。知道这里发生了什么吗?

最佳答案

您需要为 Alpha(透明) channel 提供值,因为 Color 是结构体,并且该值的默认值为零(透明)。

<Color A="255" R="0" G="86" B="45"/>

关于wpf - 在 App.xaml 中定义颜色并用作静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30224232/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com