我已将“Windows.UI.Xaml.Media.Brush”转换为“Windows.UI.Color”。但VS返回错误。请告诉我,我该如何正确地进行此转换?
答案 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 。