PropertyMetadata和UIPropertyMetadata的一点区别
使用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的一点区别的更多相关文章
- POP动画引擎中Layer与CALayer的一点区别
		
POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...
 - 前端框架framework和库library的一点区别和记录
		
本篇纯文字,无关代码,只是一点概念的记录 关于所谓前端 首先学的是HTML5.CSS3.JavaScript这三个 之后接触了一下UI框架,如layui和bootstrap 目前是打算去学VUE和an ...
 - C#调用C和C++函数的一点区别
		
最近做U800电话的二次开发,需要调用厂商的C函数库来打电话,后来想加入通话录音功能,但发现程序默认生产的WAV文件过大,又找了个WAV转MP3的C++函数库程序,出了点问题.下面是转MP3的程序接口 ...
 - 【转】SHELL variables default value, ${var:-DEFAULT}和${var=DEFAULT}的一点区别
		
${var:-DEFAULT}和${var=DEFAULT}的区别: ${var:-DEFAULT} If var not set or is empty, evaluate expression a ...
 - Object...与Object[]使用的一点区别和记录
		
Object是所有类的基类 简述: Object ...objects(称为可变个数的形参)这种参数定义是在不确定方法参数的情况下的一种多态表现形式.Java可变参数,即这个方法可以传递多个参数,这个 ...
 - C#在Win10与非Win10 Windows系统鼠标滚动编程的一点区别。
		
C#在win10和非Win10上处理鼠标滚动有一些区别,建一个Form1,放置一个FlowLayoutPanel ,类型的Panel1 Panel.MouseWheel += PanelOnMouse ...
 - Cglib  invoke以及invokeSuper的一点区别
		
简单记录下,解决的一个问题,Cglib的invoke和invokeSuper的区别: 简而言之,invoke方法调用的对象没有增强过,invokeSuper方法调用的对象已经是增强了的,所以会再走一遍 ...
 - java.util.Date和java.sql.Date 一点区别
		
最近无意中发现,在oracle中同一样的一个Date类型字段,存储的日期格式有两种不同的情况,第一种是2011-1-1 12:00:00,第二种是2011-1-1,仔细查找发现在向数据库中写数据的时候 ...
 - promise和Rxjs的一点区别
		
promise 代码 let promise = new Promise( (resolve) => { setTimeout(() => { resolve('chen'); },200 ...
 
随机推荐
- js 中的基本类型和引用类型的区别
			
js中的基本类型赋值之后,只有值相等的时候,二者才会相等,例如 var a='123'; var b=a; console.log(a===b); 返回的是true ,说明他们是相等的, 此时改变a ...
 - C#环境
 - JavaScript中getBoundingClientRect()方法详解
			
获取浏览器滚动的高度: scrollTop=document.documentElement.scrollTop || document.body.scrollTop getBoundingClien ...
 - Q: ossfs挂载时如何设置权限?
			
Q: ossfs挂载时如何设置权限? 如果要允许其他用户访问挂载文件夹,可以在运行ossfs的时候指定allow_other参数: ossfs your_bucket your_mount_point ...
 - Canvas绘制渐变
			
1.绘制线性渐变 Canvas提供了用于创建线性渐变的函数createLinearGradient(x0,y0,x1,y1),坐标点(x0,y0)是起点 ,(x1,y1)是终点 创建一个渐变色 var ...
 - kindeditor在光标处插入编辑器外的数据
			
页面 <div class="form-group clearfix"> <label class="control-label col-sm-3 co ...
 - nginx虚拟主机配置笔记
			
1.添加配置文件 /etc/nginx/sites-available/ 下新建文件 phpmyadmin 文件内容 server { listen 80; listen [::]:80; serve ...
 - 删除Tomcat服务及其它注意
			
使用sc delete Tomcat7(注意服务名是Tomcat7 不是Apache......Tomcat7.0). 绿色版无法启动的话,需要先ervice.bat install注册一下服务. 如 ...
 - 2014 Multi-University Training Contest 9#1009
			
Just a JokeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Tot ...
 - 表设置了自增后往里面插入不自增的id时的处理方法
			
SET IDENTITY_INSERT 表名 ON 中间写insert语句,但是这里必须把列名更上 SET IDENTITY_INSERT 表名 OFF