电量显示Binding Converter MVVM

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

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

<ProgressBar  Maximum="100" 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<=20)
            {
                return Brushes.Red;
            }
            return Brushes.Green;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
时间: 2024-10-06 06:48:39

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

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

基于UIView类:WKJBatteryView WKJBatteryView.h #import <UIKit/UIKit.h> @interface WKJBatteryView : UIView /** value:0 - 100 */ - (void)setBatteryValue:(NSInteger)value; @end WKJBatteryView.m #import "WKJBatteryView.h" @interface WKJBatteryView(

Win CE 5.0 增加电池电量显示

摘自 http://blog.csdn.net/li0531/article/details/8818243 同时只在右上角显示一个 Label 控件,因此代码量精简了很多. [DllImport("coredll")] private static extern int GetSystemPowerStatusEx(SYSTEM_POWER_STATUS_EX lpSystemPowerStatus, bool fUpdate); [DllImport("coredll&q

Bind、Binding與Converter的使用

Demo源碼下載:http://yunpan.cn/cHuCmI4NK4xwr  访问密码 8201 1.Bind Bind的使用方式是: <Button Content="{x:Bind Path=xxxxx}" /> 其中xxxx是Page所在的class的成員.如: class YourPage : Page { public string xxxx {get;set;} } Path可以省略不寫.即: <Button Content={x:Bind xxxx}

WPF 微信 MVVM

公司的同事离职了,接下来的日子可能会忙碌,能完善DEMO的时间也会少了,因此,把做的简易DEMO整体先记录一下,等后续不断的完善. 参考两位大神的日志:WEB版微信协议部分功能分析.[完全开源]微信客户端.NET版 尤其是周见智大神的DEMO,因为好多和微信的服务端交互,都借鉴了大神的源码,帮助巨大,可以说我相当于做了一个翻版,只是用WPF开发的而已,外观上不同,但是实际交互上是差不多的. 微信分为两个部分,一个是登录,一个是主体,基于此,WPF也主要是这两个窗体来实现. 一.登录模块 1.登录

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

MVVM是一种模式,而WPF的数据绑定机制是一种WPF内建的功能集,两者是不相关的. 但是,借助WPF各种内建功能集,如数据绑定.命令.数据模板,我们可以高效的在WPF上实现MVVM.因此,我们需要对各种MVVM相关的WPF内建功能集进行了解,才能在扎实的基础上对MVVM进行学习与实践. 本文是WPF学习03:Element Binding的后续,将说明实现数据绑定的三个重点:DataContext INotifyPropertyChanged IValueConverter MVVM简介 MV

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

从网络上看到的两种方式,一种是,在 codebehind 里为 控件写事件,下面是将集合绑定到 DataGrid 控件: private void DataGridSoftware_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = e.Row.GetIndex() + 1; } 貌似可行,但是先不说 mvvm 下这种方式的可行性,更新列表某一项,就必须得再写一套处理逻辑. 于是,直接在 ViewModel 里定义

[转]深入浅出WPF(7)——数据的绿色通道,Binding

本文转自:http://liutiemeng.blog.51cto.com/120361/95273 小序: 怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单——自己的技术太差了,还有很多东西要学呀.门里门外,发现专业程序员非常重要的一项技能是读别人写的代码,这项技能甚至比自己写代码更重要.Anstinus同学就是读代码的高手,我写的代码他看两眼就知道怎么回事了,并且能够立刻修改,而他的代码我读了好几天还不知道是怎么回事儿呢. 2到7之间是留给XAML语言基础的

windows phone 8.1 listbox 分组显示

初次了解list分组的朋友可以先看看,如下链接! http://www.cnblogs.com/linzheng/archive/2014/09/28/3999217.html 链接的内容 只是介绍了基本雏形,我下面把我个人的一些修改加了进去, 希望能对大家有所帮助! 如果发现我哪有不足,请提出,相互交流才可以更好的进步 .xaml  代码 <!--分组 缩略list 背景颜色--> <Page.Resources> <prim:JumpListItemBackgroundC

Android-architecture之MVC、MVP、MVVM、Data-Binding

传送门 MVC 结构简介 实例分析 总结 MVP 结构简介 为什么使用MVP模式 实例分析 MVP与MVC的异同 MVVM Data-Binding 前言 参考链接 传送门 Android Architecture(Is Activity God?) MVC 结构简介 实例分析 Controller控制器式 public class MainActivity extends ActionBarActivity implements OnWeatherListener, View.OnClickL