用一个ProcessBar显示电量,低于20%时候,ForeGround为红色,否则为绿色,

页面使用了MVVM绑定到了ViewModel, ProcessBar XAML为

<ProgressBar  Maximum="" Value="{Binding RemainPercent}"
Foreground="{Binding RemainPercent, Converter={StaticResource ForgroundConverter}}" ></ProgressBar>

其中  ForgroundConverter为资源的key

xmlns:converter ="clr-namespace:XXX.XXX"

<UserControl.Resources>
<converter:PercentForgroundConverter x:Key="ForgroundConverter"/>
</UserControl.Resources>
PercentForgroundConverter 为实现了IValueConverter的类,方法如下,
Brushes的命名空间为System.Windows.Media。
public class PercentForgroundConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
double percent = (double)value;
if (percent<=)
{
return Brushes.Red;
}
return Brushes.Green;
} public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

1.  当门限值(文中为20)固定情况下,可以这样写,若门限值不固定,可以将门限值以参数的形式传进来;

2. 只有当绑定的值(RemainPercent)发生变化以后,才会执行Convert 方法。

电量显示Binding Converter MVVM的更多相关文章

  1. iOS-电池图标【结合贝塞尔曲线控制电量显示】

    基于UIView类:WKJBatteryView WKJBatteryView.h #import <UIKit/UIKit.h> @interface WKJBatteryView : ...

  2. Win CE 5.0 增加电池电量显示

    摘自 http://blog.csdn.net/li0531/article/details/8818243 同时只在右上角显示一个 Label 控件,因此代码量精简了很多. [DllImport(& ...

  3. 音响音箱/恒温壶/电量显示/电子数字时钟等LED数码管显示驱动IC-VK1640B 8段12位/12段8位显示

    市面上最常用的数码管为七段/八段显示,八段数码管比七段数码管多一个发光二极管单元(比七段数码管多一个点),又按能显示多少个"8"可分为1位.2位.4位等等.数码管又分为共阳极驱动/ ...

  4. [WPF]Binding的Converter和Validator

    不拘一格用数据的Converter 上篇文已经说明,Binding就是数据源与目标之间的“关联”.大多数情况下,数据从Source到Target以及从Target返回Source都是“直来直去”的,但 ...

  5. 关于OELD屏显示电池电量的简易方法

    如何采集电源电压大家可能都熟悉,stm32的ADC+DMA能很方便迅速的帮我们采集到自己想要的电压数据.使用DMA进行数据搬运也能很好的减轻CPU的一部分压力.但是这样只是第一步--数据. 用户想看到 ...

  6. 【WIN10】Bind、Binding與Converter的使用

    Demo源碼下載:http://yunpan.cn/cHuCmI4NK4xwr  访问密码 8201 1.Bind Bind的使用方式是: <Button Content="{x:Bi ...

  7. WPF 微信 MVVM

    公司的同事离职了,接下来的日子可能会忙碌,能完善DEMO的时间也会少了,因此,把做的简易DEMO整体先记录一下,等后续不断的完善. 参考两位大神的日志:WEB版微信协议部分功能分析.[完全开源]微信客 ...

  8. 为 ItemsControl 类型的控件提供行号,mvvm模式 绑定集合

    从网络上看到的两种方式,一种是,在 codebehind 里为 控件写事件,下面是将集合绑定到 DataGrid 控件: private void DataGridSoftware_LoadingRo ...

  9. WPF学习07:MVVM 预备知识之数据绑定

    MVVM是一种模式,而WPF的数据绑定机制是一种WPF内建的功能集,两者是不相关的. 但是,借助WPF各种内建功能集,如数据绑定.命令.数据模板,我们可以高效的在WPF上实现MVVM.因此,我们需要对 ...

随机推荐

  1. 《GK101任意波发生器》升级固件发布(版本:1.0.1build803)

    一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.1.build803 编译日期:2014-08-06 ====================================== 二. ...

  2. Sql Server 2008:调试

    调试T-SQL语句: 1.Debug普通T-SQL语句: SQL代码如下: use northwind go declare @i int ,@j int,@k int set @i = 1; set ...

  3. yii2.0安装创建应用shiyong 归档文件安装

    环境是wamp在本机开发 http://www.yiiframework.com/download/ Install from an Archive File Download one of the ...

  4. MongoDB数据备份与恢复

    测试环境:windows 一. 导出数据F:\DbSoft\soft\master\bin>mongoexport /h 127.0.0.1 /port 50000 /d testdb /c t ...

  5. MySQL存储引擎总结

    MySQL存储引擎总结 作者:果冻想 字体:[增加 减小] 类型:转载   这篇文章主要介绍了MySQL存储引擎总结,本文讲解了什么是存储引擎.MyISAM.InnoDB.MEMORY.MERGE等内 ...

  6. vFloppy1.5-虚拟启动软盘

    vFloppy1.5为纯绿色免费软件,安装后不需要引导盘即可进入DOS,支持图形化访问NFTS系统格式,还可添加由光盘启动菜单选项,对于没有光驱,软驱的朋友非常实用. 到BIOS设置由光盘启动,或者打 ...

  7. Yii源码阅读笔记(三)

    接着上次的继续阅读BaseYii.php vendor/yiisoft/yii2/BaseYii.php—— public static function getRootAlias($alias)// ...

  8. 【IOS笔记】Resource Management in View Controllers

    Resource Management in View Controllers 视图控制器的资源管理 View controllers are an essential part of managin ...

  9. RT-Thread的线程间同步

    禁止系统调度上一节< 多线程导致的临界区问题>中由于 test1 线程被 test2 线程打断,才导致了我们没有得到预期的结果,我们一般可通过关闭中断和调度器上锁这两种简单的途径来禁止系统 ...

  10. 图片放大插件——elevatezoom

    GitHub地址:https://github.com/elevateweb/elevatezoom elevatezoom官网:http://www.elevateweb.co.uk/image-z ...