如何使用Converter将TextAlignment绑定到字符串属性

时间:2018-04-19 11:20:25

标签: c# xamarin.forms

简单地说我想让转换器将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是我想绑定的字符串属性

我知道我应该在转换方法中编写代码,但我不知道我错过了什么?如果我的方式正确与否?

1 个答案:

答案 0 :(得分:1)

您不需要这样做,您可以创建枚举属性并直接绑定到此属性为此使用TextAlignment 你的代码就像

Private Enum alignment{get;set;}

并在构造函数

alignment = Textalignment.End

在xaml中 aignment属性中的horizo​​ntaloption绑定