zoukankan      html  css  js  c++  java
  • WPF 变量转换的实现

       有时候,我们传入的是一个值,但是真正显示的需要是另一个值,这时候就需要转换。比如我们传入一个枚举值,而不同的枚举值对于的图片是不一样的。

       这时候就需要一个转换规则。WPF里面给我们提供了一个接口IValueConverter。我们可以自己新建一个类继承该接口,然后写自己的转换规则。

       我们新建一个类:

      

     class ChangeValueToResult : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                string strValue = (string)value;
    
                if (strValue.Equals("1"))
                {
                    strValue = "images/1.png";
                }
                else if (strValue.Equals("2"))
                {
                    strValue = "images/2.png";
                }
                
                return strValue;
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                throw new NotImplementedException();
            }
        }
    

      MainWindow.xaml

       这里先引入该转换类:

    <Window.Resources>
            <ResourceDictionary>
                <local:ChangeValueToResult x:Key="changeValueToResult"></local:ChangeValueToResult>
            </ResourceDictionary>
        </Window.Resources>

    使用的地方:

     <TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="40" Margin="28,42,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="176"/>
     <TextBox x:Name="textBox2" HorizontalAlignment="Left" Height="51" Margin="28,118,0,0" TextWrapping="Wrap" 
    Text="{Binding ElementName=textBox1, Path=Text ,Converter={StaticResource changeValueToResult}}"
    VerticalAlignment="Top" Width="176"/>

    上面的代码意思是:

    textBox2的值是根据textBox1的值来进行变化的。而变化规则是根据changeValueToResult来定的。

    效果如下:

    
    
    高山流水,海纳百川!
  • 相关阅读:
    视觉三维重建中不同三角网格视角的选择
    最小二乘求解常数k使得kx=y(x,y为列向量)
    STL常用
    2D-2D:对极几何 基础矩阵F 本质矩阵E 单应矩阵H
    Ubuntu常用软件
    ubuntu linux 安装分区
    单向链表
    1.ssm web项目中的遇到的坑--自定义JQuery插件(slide menu)
    模板引擎freemarker的使用(二)
    模板引擎freemarker的使用(一)
  • 原文地址:https://www.cnblogs.com/ahcc08/p/6217510.html
Copyright © 2011-2022 走看看