zoukankan      html  css  js  c++  java
  • 电量显示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();
            }
        }

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

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

  • 相关阅读:
    删除当前目录下除了system目录的其他文件
    单例设计模式
    系统工程师
    字符串翻转
    教育
    得到b相对于a的路径
    一段处理事务的代码
    搭讪
    win 8 ,vs2011 编程环境下,动软生成器无法连接上 sql server 2008 r2
    从asp网站编程转行到asp.net网站编程的过程
  • 原文地址:https://www.cnblogs.com/pangkang/p/5874629.html
Copyright © 2011-2022 走看看