2

色の名前 (「赤」など)を持つ文字列を System.Windows.Media.Color のオブジェクトに変換する必要があります。

次のコードを使用しています。

using System.ComponentModel;

TypeConverter tc = new TypeConverter();
Color bgColor = (Color)(tc.ConvertFrom((li["Background_x0020_Color"].ToString())));

コードは正常にビルドされますが、「ConvertFrom がベース TypeConverter に実装されていません」というランタイム例外がスローされます。

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

1

これを試して

Color c;
Type colorType = (typeof(System.Windows.Media.Colors));
if (colorType.GetProperty(slist.color) != null)
{
    object o = colorType.InvokeMember("Red", BindingFlags.GetProperty, null, null, null);
    if (o != null)
    {
        c = (Color)o;
    }
    else
    {
        c = Colors.Black;
    }
}
else
{
    c = Colors.Black;
}
Brush color = new SolidColorBrush(c);

http://jothsnag.blogspot.in/2011/04/convert-string-to-color-object-in.html

于 2012-05-08T13:59:26.190 に答える
0

このエラーは、TypeConverter のレベルが低すぎてそれを実行できないことを意味します。ConvertFrom メソッド内にコード (実装と呼ばれる) さえありません。System.Web.UI.WebControls.WebColorConverter

于 2012-05-08T12:47:41.967 に答える