【问题标题】:How to create a property of type System.Windows.Media.Color with a custom value如何使用自定义值创建 System.Windows.Media.Color 类型的属性
【发布时间】:2020-01-23 23:29:32
【问题描述】:

我正在创建一个 ViewModel,但找不到类似以下伪代码的方法:

 private Color _GradientColor = new Color().DodgerBlue;  //Something like this

我能做到:

private SolidColorBrush _GradientColor = new SolidColorBrush(Colors.DodgerBlue);

但这不是我需要的。

【问题讨论】:

  • 我不明白。 Colors.DodgerBlueSystem.Windows.Media.Color,所以你应该能够做到 private Color _GradientColor = Colors.DodgerBlue;。另外,您在标题中提到的自定义值在哪里?
  • 我不知道如何创建自定义值,例如 #FF007EEE。我想要一些样品
  • Color.FromRgb 或其他 From 方法之一。

标签: c# wpf colors system.windows.media


【解决方案1】:

这两者并不等同。

private Color _GradientColor;
_GradientColor = new Color().DodgerBlue;  //Something like this

您正在创建一个 Color 实例,然后访问一个包含 DodgerBlue 实例的属性?

private SolidColorBrush _GradientColor = new SolidColorBrush(Colors.DodgerBlue);

在这里,您创建一个 SolidColorBrush 实例,并为其提供一个常量、静态或枚举值作为输入。因为它是颜色(复数),所以它极有可能是一个枚举——你无法实例化的东西。如果是枚举,这可能是您要查找的代码:

private Color _GradientColor;
_GradientColor = Colors.DodgerBlue;

但是,总体而言,这可能是错误的轨道。一般来说,ViewModel处理颜色。这是一个明确的,观点方面的事情。您可能正在寻找转换器?或者,也许你有一个特殊的 ViewModel 只用于颜色之类的东西?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2014-07-23
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    相关资源
    最近更新 更多