Как я могу создать шаблонную привязку, которая принимает строку для цвета? - PullRequest
0 голосов
/ 02 сентября 2018

Я использую такой шаблон:

<template:ButtonTemplate ButtonType="2" Grid.Column="0" Text="{Binding FBtnText}" 
     LabelTextColor="{Binding FBtnLabelTextColor, Converter={StaticResource StringToColorConverter}" 
     TapCommand="{Binding FBtnCmd }" />

Таким образом, значение цвета вводится как "# FF0000", и преобразователь затем преобразует его в цвет.

Есть ли способ, которым я мог бы выполнить это преобразование в самой привязке, чтобы мне не нужно было использовать преобразователь StringToColor?

Вот моя привязка, которую я сейчас использую:

public static readonly BindableProperty LabelTextColorProperty =
            BindableProperty.Create(
                nameof(LabelTextColor),
                typeof(Color),
                typeof(ButtonTemplate),
                Color.FromHex("C9C9C9"));

public Color LabelTextColor
{
    get { return (Color)GetValue(LabelTextColorProperty); }
    set { SetValue(LabelTextColorProperty, value); }
}

1 Ответ

0 голосов
/ 02 сентября 2018

Вам не нужно использовать конвертер, Xamarin Forms принимает по умолчанию строку в качестве цвета, вы просто должны использовать так: "#XXXXXX". Вы можете просто передать "# FF0000", и это будет принято.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...