gpt4 book ai didi

c# - Silverlight 3 和 IMultiValueConverter

转载 作者:太空宇宙 更新时间:2023-11-03 22:26:39 25 4
gpt4 key购买 nike

如您所知,Silverlight 3 不支持 IMultiValueConverter 并且...我非常需要它。一个 Web 服务代理,它定义了我需要在我的 UI 中显示的类结构。对象定义类有一些数组属性,例如 string[]、int[] 等。当我将这些属性绑定(bind)到 TextBlock 时,TextBlock 的 Text 属性变为 System.String[] 或 System.Int[]。相反,我希望看到用逗号分隔的列表字符串或数字。

我考虑过使用 IMultiValueConverter,但 Silverlight 3 不支持它。我该如何解决这个问题?

谢谢

最佳答案

IMultiValueConverter 的目的是实现支持多重绑定(bind)(即MultiBinding 对象)的转换器。在您的情况下,这实际上似乎并不是您所需要的。

如果您想将数组(例如 string[])转换为文本值,那么只需定义一个正常的 IValueConverter 即可。不要让数组包含多个值这一事实让您感到困惑。

这是一个示例转换器:

[ValueConversion(typeof(string[]), typeof(string))] 
public class StringArrayConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return string.Join(", ", (string[])value);
}

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

希望对您有所帮助。

关于c# - Silverlight 3 和 IMultiValueConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156177/

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