1.先在Converter命名空间当中,定义转换功能类:

public sealed class BoolToValueConverter : System.Windows.Data.IValueConverter

    {
        public object TrueValue
        {
            get { return trueValue; }
            set { trueValue = value; }
        }
        object trueValue;
        public object FalseValue
        {
            get { return falseValue; }
            set { falseValue = value; }
        }
        object falseValue;
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null)
                return DependencyProperty.UnsetValue;
            var data = value.GetType().Name;
            if (value.GetType().Name.ToLower().Contains("int")|| value.GetType().Name == "Decimal")
            {
                if (int.Parse(value.ToString()) !=0)
                {
                    return TrueValue;
                }
                else
                {
                    return FalseValue;
                }
            }
            if (bool.TryParse(value.ToString(), out bool
                result))
            {
                if (result)
                    return TrueValue;
                else
                    return FalseValue;
            }
            else if (Enum.TryParse(value.ToString(), out Visibility
                 Enumresult))
            {
                if (Enumresult == Visibility.Visible)
                    return TrueValue;
                else
                    return FalseValue;
            }
            else
            {
                return DependencyProperty.UnsetValue;
            }
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return DependencyProperty.UnsetValue;
        }
    }
 
2.引用命名空间
          xmlns:converter="clr-namespace:Converter"
 
3.使用方法:
          在ResourceDictionary当中调用:
          <converter:BoolToValueConverter x:Key="BoolToColorConverter" TrueValue="#3F48CC" FalseValue="#ED1C24"/>
 
          <TextBlock TextWrapping="Wrap" Grid.Column="1" Text="{Binding IsSensitiveArea,Converter={StaticResource BoolToColorConverter}}"/>
 
          在window当中定义和调用:       
    <window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Infrastructure;component\Style\Themes\Style.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <converter:BoolToValueConverter x:Key="BoolToValueConverterOnWord" TrueValue="是" FalseValue="否"/>
        </ResourceDictionary>
    </window.Resources>
    
     <TextBlock TextWrapping="Wrap" Grid.Column="1" Text="{Binding IsSensitiveArea,Converter={StaticResource BoolToValueConverterOnWord}}"/>
 

WPF当中StaticResource调用方法的更多相关文章

  1. WPF 绑定StaticResource到控件的方法

    原文:WPF 绑定StaticResource到控件的方法 资源文件内的属性能否直接通过绑定应用到控件?答案是肯定的. 比如,我们要直接把下面的<SolidColorBrush x:Key=&q ...

  2. WPF 判断调用方法堆栈

    原文:WPF 判断调用方法堆栈 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee.io 访问博客 ...

  3. WPF入门教程系列(二) 深入剖析WPF Binding的使用方法

    WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProp ...

  4. 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

    原文:[ASP.NET Web API教程]3.3 通过WPF应用程序调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  5. C#当中的扩展方法

    先说有用的,c#扩展方法结论: 扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型.扩展方法必须是静态方法,可以像实例方法一样进行调用.且调用同名中实际定义的 ...

  6. WPF中TreeView.BringIntoView方法的替代方案

    原文:WPF中TreeView.BringIntoView方法的替代方案 WPF中TreeView.BringIntoView方法的替代方案 周银辉 WPF中TreeView.BringIntoVie ...

  7. SNF快速开发平台--规则引擎在程序当中如何调用

    规则定义完如何在程序当中进行使用呢? 其时很简单,只需要如下代码就可以调用程序: 规则定义: 调用代码: #region 演示2:生成左表数据(规则) POST: /api/DEMO/DemoSing ...

  8. MSP430WARE++的使用3:modbus模块的调用方法

    MSP430WARE++的使用3:modbus模块的调用方法     MSP430WARE是一套基于C++语言的开源的MSP430层次化软件架构,支持多种外设. 本文将介绍modbus模块驱动程序的调 ...

  9. WPF中窗体调用窗体

    在WPF中有时候我们需要在一个窗体中去调用另外的一个窗体,下面给出调用方法. 下面实现在MainWindow中通过点击一个按钮调用另外的一个窗口. 首先创建你要调用的另外一个窗口:点击最上面的项目  ...

随机推荐

  1. java 反射 子类泛型的class

    很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...

  2. 全面解析Java类加载器

    深入理解和探究Java类加载机制---- 1.java.lang.ClassLoader类介绍 java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字 ...

  3. 斯坦福大学公开课机器学习:Neural network-model representation(神经网络模型及神经单元的理解)

    神经网络是在模仿大脑中的神经元或者神经网络时发明的.因此,要解释如何表示模型假设,我们先来看单个神经元在大脑中是什么样的.如下图,我们的大脑中充满了神经元,神经元是大脑中的细胞,其中有两点值得我们注意 ...

  4. 第二节,TensorFlow 使用前馈神经网络实现手写数字识别

    一 感知器 感知器学习笔记:https://blog.csdn.net/liyuanbhu/article/details/51622695 感知器(Perceptron)是二分类的线性分类模型,其输 ...

  5. 第2课:什么是SQL注入

    SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,这是SQL注入的标准释义. 随着B/S模式被广泛的应用,用这种模式编写应用程序的程序员也越来越多,但由于开发人员的水 ...

  6. 在子类中调用父类的方法super

    1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country=" ...

  7. P2034 选择数字

    P2034 选择数字 题目描述 给定一行n个非负整数a[1]..a[n].现在你可以选择其中若干个数,但不能有超过k个连续的数字被选择.你的任务是使得选出的数字的和最大. 错误日志: longlong ...

  8. 金融量化分析【day113】:PGEC策略

    一.PGE简介 二.PGE代码 # 导入函数库 import jqdata import pandas as pd def initialize(context): set_benchmark('00 ...

  9. vuex2.0源码分析

    当我们用vue在开发的过程中,经常会遇到以下问题 多个vue组件共享状态 Vue组件间的通讯 在项目不复杂的时候,我们会利用全局事件bus的方式解决,但随着复杂度的提升,用这种方式将会使得代码难以维护 ...

  10. hashmap和hashtable异同

    (一)继承的历史不同 Hashtable是继承自Dictionary类的,而HashMap则是Java 1.2引进的Map接口的一个实现. public class Hashtable extends ...