gpt4 book ai didi

c# - 在 OneWay 绑定(bind)上使用 ConvertBack 函数而不是 Convert 函数

转载 作者:行者123 更新时间:2023-12-02 09:05:57 25 4
gpt4 key购买 nike

我有一个转换器,它接受 IEnumerable 并返回一个多行字符串。 Convertback 函数执行相反的操作,接收包含多行的字符串并返回一个列表。我在几个地方使用它并且效果很好。

我的问题是,我现在有想要反向使用 Convert 和 ConvertBack 函数的位置(例如,在 OneWay 绑定(bind)上,它使用 ConvertBack 函数)这在 XAML 中可能吗?

最佳答案

创建这样的转换器是可能的,例如:

class ListStringConverter : IValueConverter
{
public bool IsListToString { get; set; }

public ListStringConverter()
{
IsListToString = true;
}

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return IsListToString ? FromListToString(value) : FromStringToList(value);
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return IsListToString ? FromStringToList(targetListItem) : FromListToString(targetListItem);
}


public object FromListToString(object list)
{
.... // Conversion Logic
}

public object FromStringToList(object myString)
{
.... // Conversion Logic
}

}

在 XAML 中你可以这样声明

<ListStringConverter x:Key="StringToListConverter " IsListToString ="False" />

关于c# - 在 OneWay 绑定(bind)上使用 ConvertBack 函数而不是 Convert 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com