WPF Converter 使用复杂参数的方法

 

Step 1

在WPF的C#代码文件中给定义复杂类型的变量,并给其赋值;

Sample code: List<User>lsUser=。。。。

Setp 2

在 C#代码对应的XAML 中将此复杂参数定义为资源;

Sample code:

<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:c="clr-namespace:SDKSample"
  x:Class="SDKSample.Window1"
  Width="400"
  Height="280"
  Title="MultiBinding Sample">
        
  <Window.Resources>
    <c:lsUser x:Key="userList"/>
...
 
</Window.Resources>
 
这里的命名空间 C 是你的复杂参数所在的命名空间;

Step 3

 

  <UserControl.Resources>

    <app:UserManager x:Key="StaticUsers"/>

    <app:UserNameConverter  x:Key="UsrConverter"/>

  </UserControl.Resources>

<TextBox  Text="{Binding XXXX,Converter={StaticResource UsrConverter},

  ConverterParameter={StaticResource userList }}" />

 

Step 4 Converter 里对参数的使用

 

public class UserNameConverter : IValueConverter

{

    public object IValueConverter.Convert(object value, Type targetType,object parameter, CultureInfo culture)

    {

      List<User> usrs = parameter as List<User>;

      ...

    }

}

posted @ 2013-10-11 14:05  quietwalk  阅读(7615)  评论(0编辑  收藏  举报