gpt4 book ai didi

wpf - 有没有办法在 XAML 中链接多个值转换器?

转载 作者:行者123 更新时间:2023-12-02 05:58:47 28 4
gpt4 key购买 nike

我遇到了一种情况,在进行两次单独的转换后,我需要显示绑定(bind)到数据上下文上的属性的整数值:

  1. 反转某个范围内的值(例如,范围是 1 到 100;数据上下文中的值是 90;用户看到的值是 10)
  2. 将数字转换为字符串

我意识到我可以通过创建自己的转换器(实现 IValueConverter)来完成这两个步骤。但是,我已经有了一个单独的值转换器,它只执行第一步,第二步由 Int32Converter 涵盖。

有没有办法可以在 XAML 中链接这两个现有类,而无需创建另一个聚合它们的类?

如果我需要澄清任何内容,请告诉我。 :)

谢谢。

最佳答案

我用了this method作者:Gareth Evans 在我的 Silverlight 项目中。

这是我的实现:

public class ValueConverterGroup : List<IValueConverter>, IValueConverter
{
#region IValueConverter Members

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return this.Aggregate(value, (current, converter) => converter.Convert(current, targetType, parameter, culture));
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}

#endregion
}

然后可以在 XAML 中使用它,如下所示:

<c:ValueConverterGroup x:Key="InvertAndVisibilitate">
<c:BooleanInverterConverter/>
<c:BooleanToVisibilityConverter/>
</c:ValueConverterGroup>

关于wpf - 有没有办法在 XAML 中链接多个值转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2607490/

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