• WPF转换器


    以下是学习笔记:

    https://www.bilibili.com/video/BV1gq4y1D76d?p=55&spm_id_from=pageDriver&vd_source=3f21d2e208ef0bf2c49a9be7560735e5

    1,转换器的作用:将值的类型转换另外一种类型

    例子说明:当IsGorwing值为true,IsGorwing就变向上箭头绿色显示;否则向下箭头,红色提示。

     2,定义转换器

        /// <summary>
        /// 转换器(布尔到箭头的转换)
        /// </summary>
        public class BoolToArrowConverter : IValueConverter//需要继承IValueConverter
        {
            /// <summary>
            /// modle向view转换
            /// </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 (value != null && bool.Parse(value.ToString()))//如果为true,转换向上的箭头
                {
                    return "↑";
                }
                else
                {
                    return "↓";
                }
            }
    
            /// <summary>
            /// view向modle转换
            /// </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();
            }
        }
    

      

    3,使用转换器

    【3.1】引用转换器所在的命名空间

    xmlns:converter_suibian="clr-namespace:Zhaoxi.CourseManagement.Converter"
    

      

    【3.2】定义资源

        <UserControl.Resources>
            <converter_suibian:BoolToArrowConverter x:Key="BoolToArrowConverter_suibian"/>
            <converter_suibian:BoolToBrushConverter x:Key="BoolToBrushConverter_suibian"/>
        </UserControl.Resources>
    

      

    【3.3】绑定属性,添加转换器

                                                    <TextBlock Text="{Binding IsGrowing ,Converter={StaticResource BoolToArrowConverter_suibian}}" 
                                                               Foreground="{Binding IsGrowing,Converter={StaticResource BoolToBrushConverter_suibian}}" Grid.Column="1" VerticalAlignment="Center" Margin="10,0,0,0"/>
                                                    <TextBlock Text="{Binding ChangeRate}" Grid.Column="1" 
                                                               Foreground="{Binding IsGrowing,Converter={StaticResource BoolToBrushConverter_suibian}}" Grid.Row="1" VerticalAlignment="Center" Margin="10,0,0,0"/>
    

      

  • 相关阅读:
    maven安装与配置
    git客户端安装
    linux-更改文件属性-chattr与lsattr
    乐观锁-version的使用
    Project 專業名詞
    從 kernel source code 查出 版本號碼
    Bit banging
    Push pull, open drain circuit, pull up, pull down resistor
    Current Sourcing (拉電流) and Current Sinking(灌電流)
    學習 DT device tree 以 ST 的開發板 STM32F429i-disc1 為例
  • 原文地址:https://www.cnblogs.com/baozi789654/p/16427836.html
Copyright © 2020-2023  润新知