Xamarin Windows 8.1 自定义渲染器将十六进制转换为画笔?

Xamaring Windows 8.1 Custom Rendered convert hex to Brush?

我正在尝试遵循此处定义的自定义渲染过程:

https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/entry/

我正在尝试做 windows,我只是 运行 windows 而不是 windows phone。但我不知道如何将十六进制颜色转换为所需的 windows SolidColorBrush

我该怎么做。我对不同的 dll 感到相当困惑,因为 Color 也存在于便携式 class 库中,但不兼容。

如果有人可以对此进行测试并向我展示一份工作副本,那将不胜感激。我缺少参考吗?

using Windows.UI;
using Windows.UI.Xaml.Media;
using Hello.Renderer;
using Hello.Windows.Renderer;
using Xamarin.Forms;
using Xamarin.Forms.Platform.WinRT;

[assembly:ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))]
namespace Hello.Windows.Renderer
{
    public class MyEntryRenderer : EntryRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.Background = (SolidColorBrush)new ColorConverter().Convert("#FF6A00", null, null, null);
            }
        }
    }
}

试试 this converter:

public static SolidColorBrush GetColorFromHexa(string hexaColor)
{
    return new SolidColorBrush(
        Color.FromArgb(
            255,
            Convert.ToByte(hexaColor.Substring(1, 2), 16),
            Convert.ToByte(hexaColor.Substring(3, 2), 16),
            Convert.ToByte(hexaColor.Substring(5, 2), 16)
        )
    );
}