Изменение цвета текста по умолчанию для элемента управления «Выбор» в Xamarin Forms для Windows Phone 8.1
Я использую элемент управления Xamarin Forms и мне нужно установить цвет текста, однако такого свойства нет. Я попытался сделать пользовательский рендер, который работал для меня в Android и IOS (я закончил перерисовывать элемент управления). В платформе wp8.1 событие Draw отсутствует, и сам элемент управления в рендере, похоже, не обладает свойствами для установки цвета текста. Я также попытался изменить контроль, к которому привязка привязывается неудачно.
В настоящее время я создал привязываемое свойствоЦвет текста в PCL, который работает. Код моего рендерера показан ниже (я удалил весь свой тестовый код и помещаю только базовый код, так как я пока не нашел ничего полезного и помещаю свой код только для того, чтобы держать всех в контексте).Также обратите внимание, что свойство Picker.TextColorProperty не существует и это то, что я хотел бы сделать ...
using Namespace.CustomControls;
using Namespace.WinPhone.Renderers;
using Xamarin.Forms;
using Xamarin.Forms.Platform.WinPhone;
[assembly: ExportRendererAttribute(typeof(BindablePicker), typeof(BindablePickerRenderer))]
namespace Namspace.WinPhone.Renderers
{
public class BindablePickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
var picker = e.NewElement;
BindablePicker bp = (BindablePicker)this.Element;
if (this.Control != null)
{
var pickerStyle = new Style(typeof(Picker))
{
Setters = {
new Setter {Property = Picker.BackgroundColorProperty, Value = bp.BackgroundColor},
new Setter {Property = Picker.TextColorProperty, Value = bp.TextColor}
}
};
picker.Style = pickerStyle;
}
}
}
}
Во всяком случае, мне интересно, если кто-нибудь может иметь немного больше знаний о том, как это сделать, и может пролить свет на меня.