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. 利用NEST2.0 在C#中操作Elasticsearch

    前言:本文主要演示了如何通过c#来操作elasticsearch,分两个方面来演示: 索引数据 搜索数据 Note: 注意我索引数据和搜索数据是两个不同的例子,没有前后依赖关系 准备工作:需要在vis ...

  2. A1031. Hello World for U

    Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. ...

  3. 【洛谷P3224】永无乡 并查集+Splay启发式合并

    题目大意:给定 N 个点的图,点有点权,初始有一些无向边,现在有 Q 个询问,每个询问支持动态增加一条无向边连接两个不连通的点和查询第 X 个点所在的联通块中权值第 K 大的是哪个点. 题解:学会了平 ...

  4. C# 获得本机IP、端口等信息地址以及服务器IP信息

    大概是这样子,代码也没多少,直接上代码了.. 引入命名空间: using System.Net; namespace IPExample { public partial class Form1 : ...

  5. java: 关于从jar中读取资源遇到的问题getClass().getResource(...)

    在Java的程序发布中,很多人会选择采用二进制的jar的格式进行发布,怎么样读取Jar里面的资源呢?主要是采用ClassLoader的下面几个方法来实现:public URL getResource( ...

  6. 什么是 Spring?

    感想: 我在写这个东西的时候看了不同的视频,和不同的书,关于对于spring的讲解,感觉黑马的培训视频,是讲的更加的让人容易理解. 这段时间因为各种的事情,没有写过博客了,曾经做的笔记有的在有道云笔记 ...

  7. Harbor镜像迁移

    目录 背景说明 方案实现 背景说明 在早期生产环境尝试使用docker的时候,虽然使用了harbor作为镜像仓库,但是并没有做好相关存储规划,所有的镜像都直接存储到了harbor本地.随着业务发展,本 ...

  8. 利用@jsonView注解来实现自定义返回字段

    业务场景:比如说一个User对象,有两个字段,一个username,一个password,有一个获取用户信息的接口要返回这个User列表,但是不想要这个User列表的password字段. 还有一个接 ...

  9. JAVA-常用集合类型转换例子(基础必备)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  10. Multi-Anti-Nim游戏结论及证明

    一.定义 Anti-Nim 游戏: 取走最后一个石子的玩家输 Multi-Nim游戏: 每次取完后可以将一堆石子分为多堆,不能存在空堆 Multi-Anti-Nim游戏: 每次取完后可以将一堆石子分为 ...