zoukankan      html  css  js  c++  java
  • WPF转换器用法示例

    绑定模式下的转换器:

    1、创建转换器

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Windows.Data;
     6 
     7 namespace Mytest
     8 {
     9     /// <summary>
    10     /// 将01 02与布尔类型相互转换
    11     /// </summary>
    12     public class RdbConvertToStr : IValueConverter
    13     {
    14         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    15         {
    16             if (value != null && !string.IsNullOrEmpty(value.ToString()))
    17             {
    18                 if (value.ToString() == parameter.ToString())
    19                 {
    20                     return true;
    21                 }
    22             }
    23             return false;
    24         }
    25 
    26         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    27         {
    28             if (value != null)
    29             {
    30                 if ((bool)value)
    31                 {
    32                     return parameter.ToString();
    33                 }
    34             }
    35             return "";
    36         }
    37     }
    38 
    39     /// <summary>
    40     /// 将01 02 转为是否可见
    41     /// </summary>
    42     public class RdbConvertToVisiable : IValueConverter
    43     {
    44         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    45         {
    46             if (value != null && !string.IsNullOrEmpty(value.ToString()))
    47             {
    48                 if (value.ToString() == "01")
    49                     return "Visiable";
    50                 else
    51                     return "Collapsed";
    52             }
    53             return "Collapsed";
    54         }
    55 
    56 
    57 
    58         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    59         {
    60             if (value != null)
    61             {
    62                 if (value.ToString() == "Visiable")
    63                 {
    64                     return "01";
    65                 }
    66                 else
    67                     return "02";
    68             }
    69             return "";
    70         }
    71     }
    72 }

    2、在使用页面添加转换器引用

     xmlns:convert="clr-namespace:Mytest.Converter"

    3、对使用的转换器进行命名

    <UserControl.Resources>
    <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/Mytest;component/Index.xaml"/>
    </ResourceDictionary.MergedDictionaries>
    <convert:RdbConvertToVisiable x:Key="rdbConvert"/>
    </ResourceDictionary>
    </UserControl.Resources>

    4、绑定转换器

     Visibility="{Binding MyEntity.TestEntity.G000000B,Converter={StaticResource rdbConvert}}"

  • 相关阅读:
    找的好网站(macdow语法,扫描二维码,)
    c语言中static的作用以及(递归,八大算法原理)
    WKWebView加载Html文件,如何自适应网页内容呢?就是不要让它左右滑动
    iOS 8.0模拟器键盘弹出以及中文输入
    sizeof与strlen的理解
    各种效果原理(抽屉,多个tableView复用)
    激励自己的话
    IT培训出来的人为什么难找工作,各种纠结
    如何在跟新xcode后跟新插件
    Objective-C中的Block
  • 原文地址:https://www.cnblogs.com/weiweiboqi/p/6380627.html
Copyright © 2011-2022 走看看