我正在寻找一种将Xamarin.Forms.Color转换为平台特定颜色的方法。例如,适用于Android的Android.Graphics.Color。

我看了一下Xamarin.Forms.Color的属性,例如R,G和B。这些值仅包含0或1,因此似乎一文不值。有人曾经经历过并解决过这个问题吗?

最佳答案

我猜您尝试在自定义渲染器中执行此操作。

在iOS 中,您可以执行以下操作:

UIColor uicolor = yourXFColor.ToUIColor ();

在Android中:

Android.Graphics.Color adColor = yourXFColor.ToAndroidColor ();

不幸的是,等效的扩展方法不是WP 的public ,但是您可以这样做:

System.Windows.Media.Color wpColor = System.Windows.Media.Color.FromArgb (
            (byte)(yourXFColor.A * 255),
            (byte)(yourXFColor.R * 255),
            (byte)(yourXFColor.G * 255),
            (byte)(yourXFColor.B * 255));

然后最终:

Brush brush = new SolidColorBrush (wpColor);

10-08 07:50