내 응용 프로그램 색상, 즉 텍스트의 색상, 구분 기호의 색상 및 배경의 색상을 고정 된 값으로 지정하려는 경우 사용할 때마다 동일한 색상을 입력하지 않으므로 필자는 개체 이름 (예를 들어 분리기), 내가 원하는 색상으로 변환 컨버터에 : 여기 IValueConverter
클래스의 내 구현의 :Xamarin.Forms의 변환기를 사용하여 텍스트를 컬러로 변환하는 방법은 무엇입니까?
class AppColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is string)
{
var color = (string)value;
switch (color)
{
case "separator":
return Color.FromHex("c2bca8");
case "text":
return Color.FromHex("96907e");
default:
return Color.Default;
}
}
else
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
하지만 데이터 바인딩 내 지식이 사용하지만 단순히 문자열을 color 속성에 전달하고 변환기에서 처리하려고하면 ResourceDictionary를 추가합니다.
<Controls:CustomPage.Resources>
<ResourceDictionary>
<Converters:AppColorConverter x:Key="colorConverter"/>
</ResourceDictionary>
</Controls:CustomPage.Resources>
(210)
하지만 그것을 사용하는 방법이 작동하지 않습니다 : 컨버터를 사용하는 정적 자원 선언 :
<Label Text="English" VerticalOptions="CenterAndExpand" HorizontalOptions="EndAndExpand" TextColor="{separator, Converter=colorConverter}"/>
ConvertBack()에'반환 값;'을 추가하십시오. –
올바른 바인딩 구문을 보려면 제 편집을 참조하십시오. –