当前位置:   article > 正文

WPF中数据绑定转换器Converter_wpf 转换器

wpf 转换器

使用场景:ViewModel中的数据如果跟View中的数据类型不匹配。

下面是以int类型调控是否可见为例子

步骤一:创建转换器

xaml中查看Converter的定义可以知道Converter是一个接口类型,因此转换器的类定义需要使用这个接口

  1. internal class VisibilityConverter : IValueConverter
  2. {
  3. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  4. {
  5. if ((int)value == 1)
  6. {
  7. return Visibility.Visible;
  8. } else
  9. {
  10. return Visibility.Collapsed;
  11. }
  12. }
  13. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  14. {
  15. return null;
  16. }
  17. }

        -- 方法中value就是xaml中的传入值

xaml中的使用该转换器:

首先将该资源引用

  1. <Window.Resources>
  2. <local:VisibilityConverter x:Key="vc"/>
  3. </Window.Resources>

然后通过静态资源按照key直接使用就行了

Visibility="{Binding MyProperty, Converter={StaticResource vc}}

附加

如果需要使用Bool类型去控制是否显示,wpf有帮我们写好了BooleanToVisibilityConverter,直接在资源中引用,指定好Key就可以直接使用了

如果是想要Margin绑定上Slider的值,在转换器中返回的是Thickness,Slider的Value值是double类型,Margin="{Binding ElementName=myslider, Path=Value, Converter={StaticResource myConverter}}"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/537653
推荐阅读
  

闽ICP备14008679号