gpt4 book ai didi

wpf - 蒙皮:使用一种颜色作为另一种颜色的静态资源

转载 作者:行者123 更新时间:2023-12-03 06:38:37 29 4
gpt4 key购买 nike

我在我的应用程序中实现了换肤。应用程序加载其 Brushes.xaml 资源字典,该字典使用驻留在特定于皮肤的资源字典中的颜色。因此,根据所选的皮肤,仅加载一个 Color.xaml。

皮肤特定颜色.xaml

    <Color x:Key="TextBoxBackgroundColor">#C4AF8D</Color>
<Color x:Key="TextBoxForegroundColor">#6B4E2C</Color>
<Color x:Key="ToolBarButtonForegroundColor">#6B4E2C</Color>

画笔.xaml:

    <SolidColorBrush 
x:Key="TextBoxBackground"
Color="{DynamicResource TextBoxBackgroundColor}" />
<SolidColorBrush
x:Key="TextBoxForeground"
Color="{DynamicResource TextBoxForegroundColor}" />

如您所见,多种颜色(TextBoxForegroundColor 和 ToolBarButtonForegroundColor)是相同的。我想避免这种情况,因为它变得越来越令人困惑,特别是因为所使用的颜色无法通过其十六进制值来识别。您现在可以建议将两种颜色合并为一种颜色,但我的皮肤中 TextBoxForegroundColor 与 ToolBarButtonForegroundColor 不同。

我想做的是这样的:

<Color x:Key="DarkBrown">#C4AF8D</Color>

<Color x:Key="TextBoxBackgroundColor" Color={StaticResource DarkBrown} />
<Color x:Key="ToolBarButtonForegroundColor" Color={StaticResource DarkBrown} />

这在 Xaml 中可能吗?我没找到办法。

最佳答案

这个?

<Color x:Key="DarkBrown">#C4AF8D</Color>

<DynamicResource x:Key="TextBoxBackgroundColor" ResourceKey="DarkBrown"/>
<DynamicResource x:Key="ToolBarButtonForegroundColor" ResourceKey="DarkBrown"/>

有关更高级的用例和多个级别的别名,请参阅 this answer .

关于wpf - 蒙皮:使用一种颜色作为另一种颜色的静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4802419/

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