转换器采用多个参数 [英] Converter With Multiple Parameter
问题描述
任何人都知道如何使用转换器在Windows Phone 7应用程序的多个参数。
Anyone know how to use converter with Multiple parameter in Windows Phone 7 Application.
在此先感谢。
推荐答案
转换器始终贯彻的的IValueConverter 。这意味着调用转换一个>或 ConvertBack 传递一个单个附加参数。该参数是从XAML中提取。
Converters always implement IValueConverter. That means a call to Convert or ConvertBack passes a single additional parameter. That parameter is extracted from the XAML.
作为亚太区首席技术官Matt帕特尔指出没有什么可以阻止你把多个值到参数,只要你有一个分隔符他们后来分离出来,,但作为划定XAML则不能使用逗号!
As Hitesh Patel suggests there is nothing to stop you putting more than one value into the parameter, so long as you have a delimiter to separate them out later, but you cannot use a comma as that delimits the XAML!
如
<TextBlock Text="{Binding Path=ReleaseDate, Mode=OneWay,
Converter={StaticResource MyConverter},
ConverterParameter=Param1|Param2}}" />
转换
Converter
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中有有效的(应该是),但如果不只是选择不冲突的另一个字符的
一个窍门易趣用于在URL中使用,几年前,在与QQ的URL来界定的数据。双-Q不是天然存在于文本数据。如果您遇到困难的分隔符的文本将避免编码问题只是用QQ ......这不会拆分工作,虽然(它需要单个字符,但很高兴知道):)
A trick eBay used to use in urls, years ago, was to delimit data in the URL with QQ. A double-Q does not naturally occur in text data. If you ever get stuck for a text delimiter that will avoid encoding issues just use QQ... This will not work with split though (which requires single characters, but nice to know) :)
这篇关于转换器采用多个参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!