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 ...
随机推荐
- WebService学习总结(四)——调用第三方提供的webService服务
http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...
- StringBuffer类的功能
StringBuffer类 1.添加功能 public StringBuffer append(String str):可以把任意类型数据添加到缓冲区,并返回缓冲区域 public StringBuf ...
- Win7旗舰版-X86-X64-快速装机版
装机版作品简介 Win7 32/64位旗舰版 6.5z 专注于Win7,致力于做更好用的系统!一如既往的品质,不流氓,不欺骗,不夸大!一直在改进,只为做得更好!万千用户的信赖,作者的品质保证! 作品摘 ...
- 平面内,线与线 两条线找交点 两条线段的位置关系(相交)判定与交点求解 C#
个人亲自编写.测试,可以正常使用 道理看原文,这里不多说 网上找到的几篇基本都不能用的 C#代码 bool Equal(float f1, float f2) { return (Math ...
- 烂泥:nginx、php-fpm、mysql用户权限解析
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ilanni.blog.51cto.com/526870/1561097 本文首发 ...
- windows安装mysql5.7
1下载mysql http://dev.mysql.com/downloads/mysql/2解压后,新建一个data文件夹,复制my-default.ini,并改名为my.ini,添加下面内容[cl ...
- .NET 多个程序配置文件合并到主app.config
.NET 多个程序配置文件合并到主app.config
- 最新的jQuery插件和JavaScript库
每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊 ...
- js自动闭合html标签,自动补全html标记
假如我有一个DIV,如果没有闭合后面的样式都会乱了,这样的代码可能会影响后面的样式,我希望用js去自动闭合这种没有闭合的标签: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- passive 的事件监听器
很久以前,addEventListener() 的参数约定是这样的: addEventListener(type, listener, useCapture) 后来,最后一个参数,也就是控制监听器是在 ...