我有一个包含颜色列表的ComboBox,我想使用选中的颜色填充矩形,所以我这样做了:
var alwan = typeof(Colors).GetTypeInfo().DeclaredProperties;
foreach (var item in alwan)
{
x.Add(item);
}
CbForColors.ItemsSource = x;
CbForColors_Copy.ItemsSource = x;
private void CbForColors_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var color = CbForColors.SelectedItem as PropertyInfo;
//var color2 = color.GetMethod;
//var color3 = color2.Invoke(color,null);
Rect_Sample.Fill = (Color)color.GetValue(null);
}
我收到此错误:
无法将类型“
Windows.UI.Color
”隐式转换为“Windows.UI.Xaml.Media.Brush
”
评论的行我得到了argb
的颜色,即。 #FFA07FF0
(类似的东西)。已经实施的内容有什么问题?如何从argb
中制作颜色?我应该把它变成一个字符串然后把每个2个字符变成一个int并把它们换成新的颜色a,r,g,b?
答案 0 :(得分:4)
需要使用SolidColorBrush:
Rect_Sample.Fill = new SolidColorBrush( (Color)color.GetValue(null));