【问题标题】:Use System.Drawing.Color to draw a line in WPF使用 System.Drawing.Color 在 WPF 中画一条线
【发布时间】:2013-11-08 14:22:14
【问题描述】:

如何使用System.Drawing.Color 在 XAML 中画一条线?没有转换器的解决方案会很好。

XAML:

<Line X1="10" Y1="10" X2="20" Y2="10" Stroke="{Binding Color}" StrokeThickness="4" />

代码:

System.Drawing.Color Color = System.Drawing.Color.Black;

【问题讨论】:

  • 你为什么不使用System.Windows.Media.Colors
  • 因为我需要一个 SharpDX.Color/System.Drawing.Color 在 DirectX 中绘图
  • 您可以尝试使用字符串属性返回“Black”或“Green”。有一个隐式转换器可以将字符串转换为 SolidColorBrush
  • 您能告诉我如何在 XAML 中使用该转换器吗?这可能吗?
  • 将绑定到该行的属性Color 更改为键入string 并为其分配一个值,例如“Green”、“Brown”或“BurlyWood”。然后隐式转换器在更新 Stroke 属性的 Binding 时将字符串表示形式转换为 SolidColorBrush

标签: c# wpf xaml colors drawing


【解决方案1】:

您需要将Brush 绑定到Stroke 属性,特别是SolidColorBrush,它接受颜色。

但是,您需要将 System.Drawing.Color 转换为 System.Windows.Media.Color,例如通过将 R、G 和 B 值传递给 FromRgb 方法。

【讨论】:

  • 使用转换器不就可以了吗?
  • 是的,您可以使用转换器来创建 SolidColorBrush。我认为把这种逻辑放在哪里主要是一个品味问题,但在这种情况下,转换器似乎是个好主意。
猜你喜欢
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多