WPF Convertor简单应用

实现RadioButton的IsChecked属性的绑定:

新建一个Convertor类,实现IValueConverter接口:

 

[c-sharp] view plain copy
 
  1. /// <summary>  
  2.     /// 连接线动作类型转换器  
  3.     /// </summary>  
  4.     //[ValueConversion(typeof(int), typeof(bool))]  
  5.     public class ActivityLinkActionTypeConvertor : IValueConverter  
  6.     {  
  7.         #region IValueConverter Members  
  8.         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
  9.         {  
  10.             bool reValue = false;  
  11.             if (int.Parse(value.ToString()) == int.Parse(parameter.ToString()))  
  12.             {  
  13.                 reValue = true;  
  14.             }  
  15.             return reValue;  
  16.         }  
  17.         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
  18.         {  
  19.             return int.Parse(parameter.ToString());  
  20.         }  
  21.         #endregion  
  22.     }  

 
在xaml文件中引用这个convertor:

 

 

[c-sharp] view plain copy
 
  1. <UserControl.Resources>  
  2.     <local:ActivityLinkActionTypeConvertor x:Key="ActivityLinkActionTypeConvertor" />  
  3. </UserControl.Resources>  

 

 

使用这个convertor:

 

[c-sharp] view plain copy
 
  1. <RadioButton x:Name="NormalRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="正常处理" Grid.Row="0"   
  2.                              IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=0}" />  
  3. <RadioButton x:Name="ExceptionRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="异常路径(如:拒绝并结束流程)" Grid.Row="1"  
  4.                              IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=1}" />  
  5. <RadioButton x:Name="SystemRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="系统动作(处理人不可见)" Grid.Row="2"  
  6.                              IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=2}" />  

 

 

 

Convertor的作用的好处是不用说的,更多应用需依据实际情况来挖掘。

posted @ 2016-10-15 11:09  天涯海角路  阅读(344)  评论(0)    收藏  举报