我如何制作一个可以接受颜色字符串的模板绑定?

时间:2018-09-02 06:13:36

标签: xamarin xamarin.forms

我正在使用这样的模板:

<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 :(得分:2)

您不需要使用Converter,Xamarin Forms默认接受一个字符串作为Color,您只需要这样使用:“#XXXXXX”。您只需传递“#FF0000”,它就会被接受。