如何刷转换为颜色(UWP)?

时间:2017-03-25 19:20:27

标签: c# xaml uwp

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

2 个答案:

答案 0 :(得分:7)

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

转换仅对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开发人员平台

答案 1 :(得分:1)

可以将“画笔”转换为颜色,但是您必须明确地编写它。 为此,请执行以下操作:

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

只要您正确分配了 Background 属性,此方法就适用于 EVERY 的每个 UIElement