无法将类型“Windows.UI.Color”隐式转换为“Windows.UI.Xaml.Media.Brush”

Amg*_*rry 3 c# wpf

我有一个包含颜色列表的 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);       
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法将类型“ Windows.UI.Color”隐式转换为“ Windows.UI.Xaml.Media.Brush

注释行我得到argb了颜色,即。#FFA07FF0(类似的东西)。已经实现的东西有什么问题,我如何从中制作颜色argb?我应该把它变成一个字符串,然后把每 2 个字符变成一个 int 并把它们放在一个新的颜色 a,r,g,b 中吗?

loo*_*ode 6

需要使用 SolidColorBrush:

 Rect_Sample.Fill = new SolidColorBrush( (Color)color.GetValue(null));
Run Code Online (Sandbox Code Playgroud)