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 ...
随机推荐
- iOS - 在工程中试玩状态模式
做了一个项目,项目中一个藏品详情界面针对不同用户,和用户所处于的状态的不同,展示的效果和操作的权限都会不同.想到了状态模式,从来没有用过,赶紧学一下然后用一用.期待兴奋 看了这么多的博客,终于找到一个 ...
- python取mysql数据写入excel
环境:MySQLdb openpyxl模块 python去zabbix的mysql数据库中取交换机不同时间段的进出口流量,然后写入excel中,每天cron执行,每周四邮件发送.(代码中第一行必须加上 ...
- 线程GCD
#import "ViewController.h" @interfaceViewController () @end @implementation ViewController ...
- centos6.5安装oracle11g_2
centos7安装oracle数据库不成功,换成centos6.5安装,可以安装成功,记录一下 安装系统时,主机名如果不是用localhost,安装成功后,要用主机名和ip做映射,修改/etc/hos ...
- Linux下如何不停止服务,清空nohup.out文件
tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关知识整理汇总如下: 1.n ...
- Js中文排序(拼音首字母)
演示地址:http://lar5.sinaapp.com/ 1.index.html <html xmlns="http://www.w3.org/1999/xhtml"&g ...
- 浅析Java中的final关键字
浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...
- 【bzoj3531】 [SDOI2014]旅行
题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰.为了方便,我们 ...
- MySQL 常用SQL技巧和常见问题
一.巧用正则表达式 二.巧用RAND() 提取随机行 利用rand() 的随机数功能,结合 order by 子句完成随机抽取某些行的功能. 三.利用 group by 的 with rollup 子 ...
- Xcode7建立自己的自定义工程和类模板
首先进入系统模板的目录 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library ...