2016-04-14 4 views
0

Я пытаюсь следовать сформированному пользователю процессу, как определено здесь:Xamaring Windows 8.1 Custom Rendered convert hex to Brush?

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

Я пытаюсь сделать окна один, я просто работаю окно одного окно не телефон. Но я не могу понять, как преобразовать гексагон в нужные окна. SolidColorBrush

Как это сделать. Я довольно запутался в разных DLL, поскольку Color существует и в переносимой библиотеке классов, но не совместим.

Если кто-то может проверить это и показать мне рабочую копию, которая действительно будет оценена. Я пропустил ссылку?

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); 
      } 
     } 
    } 
} 

ответ

1

Попробуйте с 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) 
     ) 
    ); 
} 
+0

Большое спасибо, что работает :) – Andrew