简单地说我想让转换器将TextAlignment选项枚举绑定到字符串属性..我发现转换器是长时间搜索后的解决方案,但我仍然不能为我的情况做具体的..任何帮助? 我用这个代码
EnumtoStringConverter.cs
class EnumtoStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var returnValue = value as string;
if (returnValue == "Start")
return "Start";
else if (returnValue == "Center")
return "Center";
else if (returnValue == "End")
return "End";
return returnValue;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
}
}
的Xaml
<StackLayout Orientation="Horizontal" HeightRequest="40" HorizontalOptions="Fill" BackgroundColor="White">
<controls:ExtendedButton HorizontalContentAlignment="{Binding HoriRLLR}" Margin="20,0,0,0" Image="house.png" HorizontalOptions="FillAndExpand" BackgroundColor="White" Text="{translator:Translate HomeSpacing}"></controls:ExtendedButton>
</StackLayout>
HoriRLLR是我想绑定的字符串属性
我知道我应该在转换方法中编写代码,但我不知道我错过了什么?如果我的方式正确与否?
答案 0 :(得分:1)
您不需要这样做,您可以创建枚举属性并直接绑定到此属性为此使用TextAlignment 你的代码就像
Private Enum alignment{get;set;}
并在构造函数
中alignment = Textalignment.End
在xaml中 aignment属性中的horizontaloption绑定