WPF中的MultiBinding

    在WPF中进行数据绑定时,有时会有这种需求:如TextBlock的Text属性,可能希望绑定到两个或以上的数据源,最后得到的Text显示是由这几个数据源按照自己的设计组合而成,即MultiBinding功能。这里记录下两种用法(绑定的概念这里就不列了,直接上关键代码):


1、在XAML中使用MultiBinding+StringFormat


        
        
            
            
        
    

这里的 StringFormat="{}{0} + {1}" ,中的第一个{}是有必要存在的。最后得到的显示也就是+


2、在XAML中使用MultiBinding+Converter



     

==============================================

   
       
          
          
       
   


=======================================================
=======================================================
 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;
    }
}

在Converter中进行数据源的精细组合。可参见MSDN上的介绍,这儿是另一个例子。


做个记录,免得以后要用时忘了。


你可能感兴趣的:(C#/WPF,.net,c#,wpf,xaml,MultiBinding)