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



我有一个有颜色列表的组合框,我想用选择的颜色填充一个矩形,所以我这样做:

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的颜色?我应该把它转换成字符串然后把每两个字符转换成整型并把它们换成新的颜色ar g b吗?

需要使用SolidColorBrush:

 Rect_Sample.Fill = new SolidColorBrush( (Color)color.GetValue(null));

相关内容

最新更新