xamarin形式:文本绑定枚举状态转换器问题

时间:2017-09-13 03:37:55

标签: wpf xamarin converter

我创建了一个按钮,其内容绑定状态,我初始化状态,但是按钮内容无法显示相应的文本,在调试模式下,我发现它似乎执行成循环,获取状态后,执行转换函数,然后直接跳转到ConvertBack(),然后再返回到Convert()。

我在xaml文件中的代码是:

public class StatusToTextConverter: IValueConverter
{
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        var status = (EStatus)value;

        if (status == EStatus.YES)
        {            
            return "V";
        }
        else
        {
            return "";
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {            
        var text = (string)value;
        if (text == "V")
            return EStatus.YES;
        else
            return EStatus.NO;
    }

    #endregion
}

我的转换器是:

{{1}}

2 个答案:

答案 0 :(得分:0)

这可能是TwoWay的绑定模式导致循环。

你需要一种方法来打破它。

在它所绑定的视图模型属性中,检查新值是否与旧值相同,并且只有在不同时才更改set属性。

答案 1 :(得分:0)

从转换后退

中删除实现