【问题标题】:wpf assign one color to anotherwpf 将一种颜色分配给另一种颜色
【发布时间】:2013-08-27 18:39:36
【问题描述】:

在我的 XAML 中我有这个:

<Color x:Key="VeryLightGrey">#fff0f0f0</Color> 
<Color x:Key="TabBackgroundColor">#fff0f0f0</Color>

我很想拥有这样的东西:

<Color x:Key="TabBackgroundColor" Color="{StaticResource VeryLightGrey}"/>

我尝试了各种方法,包括:

<StaticResource x:Key="TabBackgroundColor" ResourceKey="VeryLightGrey"/>

但是我的代码充满了警告:

“System.Wndows.StaticResourceExtention 类型的对象不能应用于需要 System.Windows.Media.Color 类型的属性”

其他帖子说忽略这个警告,但它实际上会导致问题,所以我不能。

有没有更好的解决方案?

【问题讨论】:

  • 什么?为什么要这样复制资源?
  • 因为我希望能够将verylightgrey 分配给tabbackground,而不是数字#fff 等。我还希望将颜色定义为灰色,而不仅仅是颜色刷。真的不是重复,它让人们更容易理解,也更容易以后改变颜色
  • 并非如此。您似乎误解了 XAML 资源的工作原理。使用@Emo 的回答中提到的画笔。

标签: wpf xaml colors


【解决方案1】:

您可以声明一次颜色并定义多个使用相同颜色的画笔。

为您的 UI 元素使用画笔。

【讨论】:

  • 我不能在我拥有的所有 UI 元素中使用拉丝,有时我必须使用颜色
  • @Andy - 请给我一个你不能使用画笔的例子。
  • 这里必须使用画笔,而不是颜色
  • @andy 这个gradientstop 是gradientbrush 的一部分。只需制作多个渐变画笔并使用 StaticResource 引用颜色
猜你喜欢
  • 2013-08-15
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
相关资源
最近更新 更多