使用UIPropertyMetadata写一个Brush的依赖属性。

 System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
{
if (ResSyncState == ResSyncState.Default)//3秒错误信息在进度条显示出来的时候不出现,否则与进度条的状态提示有冲突
{
if (ResFileState == ResFileState.Local)
{
ErroColor = new SolidColorBrush(Color.FromArgb(255, 40, 138, 221));
SyncBtnToolTip = "本地有新课件,可同步至云端";
ShowSbErooInfo(SyncBtnToolTip);
}
else if (ResFileState == ResFileState.LocalNew)
{
ErroColor = new SolidColorBrush(Color.FromArgb(255, 40, 138, 221));
SyncBtnToolTip = "本地课件有改动,可同步至云端";
ShowSbErooInfo(SyncBtnToolTip);
}
else if (ResFileState == ResFileState.Net)
{
ErroColor = new SolidColorBrush(Color.FromArgb(255, 255, 68, 68));
SyncBtnToolTip = "云端有新课件,可同步至本地";
ShowSbErooInfo(SyncBtnToolTip);
}
else if (ResFileState == ResFileState.NetNew)
{
ErroColor = new SolidColorBrush(Color.FromArgb(255, 255, 68, 68));
SyncBtnToolTip = "云端课件有改动,可同步至本地";
ShowSbErooInfo(SyncBtnToolTip);
}
}
}));
        private Brush _erroColor;

        public Brush ErroColor
{
get { return _erroColor; }
set { _erroColor = value;
ErroColor.Freeze();//不加这个会 必须在与 DependencyObject 相同的线程上创建 DependencySource。
this.RaisePropertyChanged(r => r.ErroColor); }
}

使用PropertyMetadata的话Binding 绑定ErroColor或者直接写一个色值,界面不会变化。

        /// <summary>
/// 异常文本颜色
/// </summary>
public static readonly DependencyProperty ErroColorProperty =
DependencyProperty.Register("ErroColor", typeof(Brush), typeof(BusyPrompt), new UIPropertyMetadata(new SolidColorBrush(Color.FromArgb(255, 255, 68, 68)))); public Brush ErroColor
{
get { return (Brush)GetValue(ErroColorProperty); }
set { SetValue(ErroColorProperty, value); }
}

PropertyMetadata和UIPropertyMetadata的一点区别的更多相关文章

  1. POP动画引擎中Layer与CALayer的一点区别

    POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...

  2. 前端框架framework和库library的一点区别和记录

    本篇纯文字,无关代码,只是一点概念的记录 关于所谓前端 首先学的是HTML5.CSS3.JavaScript这三个 之后接触了一下UI框架,如layui和bootstrap 目前是打算去学VUE和an ...

  3. C#调用C和C++函数的一点区别

    最近做U800电话的二次开发,需要调用厂商的C函数库来打电话,后来想加入通话录音功能,但发现程序默认生产的WAV文件过大,又找了个WAV转MP3的C++函数库程序,出了点问题.下面是转MP3的程序接口 ...

  4. 【转】SHELL variables default value, ${var:-DEFAULT}和${var=DEFAULT}的一点区别

    ${var:-DEFAULT}和${var=DEFAULT}的区别: ${var:-DEFAULT} If var not set or is empty, evaluate expression a ...

  5. Object...与Object[]使用的一点区别和记录

    Object是所有类的基类 简述: Object ...objects(称为可变个数的形参)这种参数定义是在不确定方法参数的情况下的一种多态表现形式.Java可变参数,即这个方法可以传递多个参数,这个 ...

  6. C#在Win10与非Win10 Windows系统鼠标滚动编程的一点区别。

    C#在win10和非Win10上处理鼠标滚动有一些区别,建一个Form1,放置一个FlowLayoutPanel ,类型的Panel1 Panel.MouseWheel += PanelOnMouse ...

  7. Cglib invoke以及invokeSuper的一点区别

    简单记录下,解决的一个问题,Cglib的invoke和invokeSuper的区别: 简而言之,invoke方法调用的对象没有增强过,invokeSuper方法调用的对象已经是增强了的,所以会再走一遍 ...

  8. java.util.Date和java.sql.Date 一点区别

    最近无意中发现,在oracle中同一样的一个Date类型字段,存储的日期格式有两种不同的情况,第一种是2011-1-1 12:00:00,第二种是2011-1-1,仔细查找发现在向数据库中写数据的时候 ...

  9. promise和Rxjs的一点区别

    promise 代码 let promise = new Promise( (resolve) => { setTimeout(() => { resolve('chen'); },200 ...

随机推荐

  1. BZOJ 4569 萌萌哒

    题目传送门 4569: [Scoi2016]萌萌哒 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 483 Solved: 221 [Submit][S ...

  2. cinnamon桌面安装在其他目录下

    cinnamon桌面还不错,不过默认只能安装在/usr目录下 有很多脚本中写死了是/usr目录 编译时如下模块需要打补丁: 1.cinnamon中,需要执行 sed -i 's|usr/share|u ...

  3. Java的发展历程

    Java的发展历程充满了传奇色彩. 最初,Java是由Sun公司的一个研究小组开发出来的, 该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置. 开始,准备采用C++,但C++太复杂, ...

  4. 图解JVM字节码执行引擎之栈帧结构

    一.执行引擎      “虚拟机”的概念是相对于“物理机”而言的,这两种“机器”都有执行代码的能力.物理机的执行引擎是直接建立在硬件处理器.物理寄存器.指令集和操作系统层面的:而“虚拟机”的执行引擎是 ...

  5. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  6. 4Struts2标签库----青软S2SH(笔记)

    这里弄错了,这一堆属性是<datetimepicker>标签的,不是<doubleselect>标签的 输出错误信息这个不错,挺方便的. 这个树形标签,也用了好多网络,分析如下 ...

  7. 最终解决 mouseenter, mouseleave , mouseout mousehover mousemove等事件的区别?

    在jquery中, html页面的div的显示和隐藏, 修改等的功能, 最终都要由 事件 触发来引用, 不管是键盘事件, 还是鼠标事件... mouseenter和mouseleave是成对对应的, ...

  8. Swift3.0P1 语法指南——方法

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  9. UVA2636

    理解;类似我们离散的命题  因为只有一个是坏的 超过一个人说你坏  你一定就是坏的  有人说你对 你就对了 分为两种情况 1.说你对的是好的  他的判断是正确的 2.说你对的人 是坏的 他的判断是错误 ...

  10. HDU 4113 Construct the Great Wall(插头dp)

    好久没做插头dp的样子,一开始以为这题是插头,状压,插头,状压,插头,状压,插头,状压,无限对又错. 昨天看到的这题. 百度之后发现没有人发题解,hust也没,hdu也没discuss...在acm- ...