• WPF中Converter的使用


    WPF中Converter的用于对数据的转换。以下实例将实现将数据中的性别属性的转换(0:男,1:女)。

    1、创建SexConverter.cs类,并实现IValueConverter接口

    public class SexConverter : IValueConverter
    {
      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
        string result = "";
        string sex = (string)value;
        if (sex == "0")
        {
          result = "男";
        }
        else if (sex == "1")
        {
         result = "女";
        }
        return result;
      }

      public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
        throw new NotImplementedException();
      }
    }
    2、在XAML页面中使用

    <Window.Resources>
      <!--引用资源-->
      <converter:SexConverter x:Key="SexConverter"/>

        <Style TargetType="ListBoxItem">
          <Setter Property="ContentTemplate">
            <Setter.Value>
              <DataTemplate>
                <StackPanel Orientation="Horizontal">
                  <TextBlock Text="{Binding ID}" Width="60"/>
                  <TextBlock Text="{Binding Name}" Width="120"/>
                  <TextBlock Text="{Binding Sex,Converter={StaticResource SexConverter}}" Width="60"/>
                </StackPanel>
              </DataTemplate>
            </Setter.Value>
          </Setter>
        </Style>
    </Window.Resources>

    <StackPanel>
    <ListBox x:Name="listBoxStudent" Margin="5"/>
    </StackPanel>
    后台代码

    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
      public MainWindow()
      {
        InitializeComponent();

        List<Student> stuList = new List<Student>(){
        new Student(){ID="1",Name="Peter",Sex="0"},
        new Student(){ID="2",Name="Tom",Sex="1"},
        new Student(){ID="3",Name="Ben",Sex="0"}
      };

      this.listBoxStudent.ItemsSource = stuList;
     }

    }

    /// <summary>
    /// 学生类
    /// </summary>
    public class Student{
      public string ID{get;set;}
      public string Name { get; set; }
      public string Sex { get; set; }
    }
    ————————————————
    版权声明:本文为CSDN博主「pan_junbiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/pan_junbiao/article/details/51044490

  • 相关阅读:
    Boost中timer的简易用法
    poj 2586 Y2K Accounting Bug(贪心算法,水题一枚)
    Steps to Install Hadoop on CentOS/RHEL 6---reference
    nginx多进程模型之配置热加载---转
    C/C++ unit testing tools (39 found)---reference
    centos复制到另外一台电脑连不上网
    linux man使用方法 和centos安装中文man包 --转
    centos6.4使用man查找命令时,报错No manual entry for xxxx
    How to Install and Configure Nginx from Source on centos--转
    研磨设计模式之 策略模式--转
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14993164.html
Copyright © 2020-2023  润新知