3

色のリストを持つ 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 に入れる必要がありますか?

4

1 に答える 1