WPF Convertor简单应用
实现RadioButton的IsChecked属性的绑定:
新建一个Convertor类,实现IValueConverter接口:
- /// <summary>
- /// 连接线动作类型转换器
- /// </summary>
- //[ValueConversion(typeof(int), typeof(bool))]
- public class ActivityLinkActionTypeConvertor : IValueConverter
- {
- #region IValueConverter Members
- public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- bool reValue = false;
- if (int.Parse(value.ToString()) == int.Parse(parameter.ToString()))
- {
- reValue = true;
- }
- return reValue;
- }
- public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return int.Parse(parameter.ToString());
- }
- #endregion
- }
在xaml文件中引用这个convertor:
- <UserControl.Resources>
- <local:ActivityLinkActionTypeConvertor x:Key="ActivityLinkActionTypeConvertor" />
- </UserControl.Resources>
使用这个convertor:
- <RadioButton x:Name="NormalRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="正常处理" Grid.Row="0"
- IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=0}" />
- <RadioButton x:Name="ExceptionRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="异常路径(如:拒绝并结束流程)" Grid.Row="1"
- IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=1}" />
- <RadioButton x:Name="SystemRadioButton" Margin="2,2,2,2" GroupName="ActionType" Content="系统动作(处理人不可见)" Grid.Row="2"
- IsChecked="{Binding Path=ActionType, Converter={StaticResource ActivityLinkActionTypeConvertor},ConverterParameter=2}" />
Convertor的作用的好处是不用说的,更多应用需依据实际情况来挖掘。

浙公网安备 33010602011771号