【问题标题】:How brush convert to color (UWP)?画笔如何转换为颜色(UWP)?
【发布时间】:2017-03-25 19:20:26
【问题描述】:

我已将“Windows.UI.Xaml.Media.Brush”转换为“Windows.UI.Color”。但是VS返回错误。请告诉我如何正确进行此转换?

【问题讨论】:

  • 在您的问题和错误消息中添加一些代码。

标签: c# xaml uwp


【解决方案1】:

您无法将画笔转换为颜色。画笔的概念不能简化为颜色,因为它可以是颜色的渐变,也可以是图像等。

这种转换只对SolidColorBrush 的特殊情况有意义。我猜这就是你所追求的。以下是您在代码中的操作方式:

Windows.UI.Color colorFromBrush;
if (brush is SolidColorBrush)
    colorFromBrush = (brush as SolidColorBrush).Color;
else
    throw new Exception("Can't get color from a brush that is not a SolidColorBrush");

谢谢, Stefan Wick - Windows 开发者平台

【讨论】:

  • 精彩解释
【解决方案2】:

可以将 Brush 转换为颜色,但您必须明确地编写它。 为此,只需这样做:

StackPanel pane = new StackPanel()
{
Background = Background = new SolidColorBrush(new Windows.UI.Color() { A = 255, R = 25, B = 0, G = 0})
}

这适用于EVERY单个UIElement,只要您正确分配Background属性。

【讨论】:

    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2011-03-19
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多