主页 > 互联网  > 

WPF-数据转换器

WPF-数据转换器
一、单值转换器 1.不传参数

转换器 当Value值大于100时返回红色

public class DataConverter : IValueConverter { /// <summary> /// 表示从源到目标数据转换 /// </summary> /// <param name="value">数据源的值</param> /// <param name="targetType">目标类型 根据目标类型进行不同转换</param> /// <param name="parameter">参数</param> /// <param name="culture">本地国际化时使用</param> /// <returns></returns> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (int.Parse(value.ToString()) > 100) return Brushes.Red; return Brushes.Black; } /// <summary> /// 表示从目标到源头的数据转换 /// </summary> /// <param name="value"></param> /// <param name="targetType"></param> /// <param name="parameter"></param> /// <param name="culture"></param> /// <returns></returns> public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } 2.传参数Parameter

选则男或女后 后台的绑定值也发生变化

public class GenderConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { //第一次 男标签触发 value=1 p=1 //第二次 女标签触发 value=2 p=2 if (value.ToString() == parameter.ToString()) return true; return false; } //值返回的处理 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return parameter; } } 二、多值转换器

使用MultiBinding绑定多值,转换器使用数组接收

<Window.Resources> <local:TextMulti x:Key="TextMulti"/> </Window.Resources> <Grid> <TextBox x:Name="tex1"/> <TextBox x:Name="tex2"/> <TextBox x:Name="tex3"/> <TextBox x:Name="tex4"> <TextBox.Text> <MultiBinding Converter="{StaticResource TextMulti}"> <Binding ElementName="tex1" Path="Text" Mode="TwoWay"/> <Binding ElementName="tex2" Path="Text" Mode="TwoWay"/> <Binding ElementName="tex3" Path="Text" Mode="TwoWay"/> </MultiBinding> </TextBox.Text> </TextBox> </Grid> public class TextMulti:IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return values[0] + " " + values[1] + " " + values[2]; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { return value.ToString().Split(' '); } }
标签:

WPF-数据转换器由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“WPF-数据转换器