我需要将字符串转换为颜色,因为颜色是作为字符串动态出现的。
错误说:
无法将字符串隐式转换为 Xamarin.Form.Color
string BackgroundColor = (string)testData["Views"][index][name][i]["BackgroundColor"];
gridLayout.BackgroundColor = BackgroundColor;//Error
Run Code Online (Sandbox Code Playgroud)
    您可以使用Xamarin.Forms.ColorTypeConverter。
这种方法: ConvertFrom
来自链接的示例:
var converter = new ColorTypeConverter ();
Assert.True (converter.CanConvertFrom (typeof(string)));
Assert.AreEqual (Color.Blue, converter.ConvertFrom ("Color.Blue"));
Assert.AreEqual (Color.Blue, converter.ConvertFrom ("Blue"));
Assert.AreEqual (Color.Blue, converter.ConvertFrom ("#0000ff"));
Assert.AreEqual (Color.Default, converter.ConvertFrom ("Color.Default"));
Assert.AreEqual (Color.Accent, converter.ConvertFrom ("Accent"));
var hotpink = Color.FromHex ("#FF69B4");
Color.Accent = hotpink;
Assert.AreEqual (Color.Accent, converter.ConvertFrom ("Accent"));
Run Code Online (Sandbox Code Playgroud)
        我想你的字符串是你想要应用的颜色的十六进制值。如果是这样,您必须将其解析为颜色。该.setBackground方法和BackgroundColor属性接受一个颜色对象。
要解析它,请使用Color包含FromHex方法的类。
Color.FromHex("#FFF");
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3161 次  |  
        
|   最近记录:  |