标签:.net c# wpf xaml multibinding
在WPF中进行数据绑定时,有时会有这种需求:如TextBlock的Text属性,可能希望绑定到两个或以上的数据源,最后得到的Text显示是由这几个数据源按照自己的设计组合而成,即MultiBinding功能。这里记录下两种用法(绑定的概念这里就不列了,直接上关键代码):
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} + {1}">
<Binding Path="Name" />
<Binding Path="ID" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<span style="font-size:14px;"><Windows.Resourses>
<my:NameConverter x:key="myNameConverter"/>
</Windows.Resourses>
==============================================
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myNameConverter}"
ConverterParameter="FormatLastFirst">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock></span>
<span style="font-size:14px;">
public class NameConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
string name;
switch ((string)parameter)
{
case "FormatLastFirst":
name = values[1] + ", " + values[0];
break;
case "FormatNormal":
default:
name = values[0] + " " + values[1];
break;
}
return name;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
string[] splitValues = ((string)value).Split(' ');
return splitValues;
}
}
</span>
做个记录,免得以后要用时忘了。
标签:.net c# wpf xaml multibinding
原文地址:http://blog.csdn.net/alading2009/article/details/41351395