我正在使用这样的模板:
<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); }
}
答案 0 :(得分:2)
您不需要使用Converter,Xamarin Forms默认接受一个字符串作为Color,您只需要这样使用:“#XXXXXX”。您只需传递“#FF0000”,它就会被接受。