gpt4 book ai didi

c# - 具有多个参数的转换器

转载 作者:IT王子 更新时间:2023-10-29 04:17:36 27 4
gpt4 key购买 nike

如何在 Windows Phone 7 应用程序中使用具有多个参数的转换器?

最佳答案

转换器总是执行 IValueConverter .这意味着调用 ConvertConvertBack传递一个附加参数。该参数是从 XAML 中提取的。

正如 Hitesh Patel 所建议的,没有什么可以阻止您将多个值放入参数中,只要您有一个分隔符稍后将它们分开,但是您不能使用逗号分隔 XAML!

例如

XAML

<TextBlock Text="{Binding Path=ReleaseDate, Mode=OneWay,
Converter={StaticResource MyConverter},
ConverterParameter=Param1|Param2}" />

转换器

public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
string parameterString = parameter as string;
if (!string.IsNullOrEmpty(parameterString))
{
string[] parameters = parameterString.Split(new char[]{'|'});
// Now do something with the parameters
}
}

请注意,我没有检查它是否是管道“|”字符在 XAML 中是有效的(应该是),但如果不是,则选择另一个不冲突的字符。

对于最简单的 Split 版本,更高版本的 .Net 不需要字符数组,因此您可以改用它:

string[] parameters = parameterString.Split('|');

附录:

几年前,eBay 在 url 中使用的一个技巧是用 QQ 分隔 URL 中的数据。双 Q 不会自然出现在文本数据中。如果您遇到文本定界符的问题,可以避免编码问题,请使用 QQ ......但这不适用于拆分(它需要单个字符,但很高兴知道):)

关于c# - 具有多个参数的转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11323169/

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