WPF设计自定义控件

WPF设计自定义控件

ID:39470192

大小:250.73 KB

页数:9页

时间:2019-07-04

WPF设计自定义控件_第1页
WPF设计自定义控件_第2页
WPF设计自定义控件_第3页
WPF设计自定义控件_第4页
WPF设计自定义控件_第5页
资源描述:

《WPF设计自定义控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在实际工作中,WPF提供的控件并不能完全满足不同的设计需求。这时,需要我们设计自定义控件。这里LZ总结一些自己的思路,特性如下:·Coupling·UITemplate·Behaviour·FunctionPackage下面举例说说在项目中我们经常用到调音台音量条,写一个自定义控件模拟调音台音量条。自定义控件SingnalLight,实现功能·接收来自外部的范围0~100的数值·实时显示接收数值·数值范围0~50显示绿色,50~85显示黄色,85~100显示红色,没有数值显示褐色·可在父控件上拖拽该控件首先NewWPFApplicationProject,在Ui上放2个Button,代码

2、:123456Start,Stop事件实现1privatevoidStart_Click(objectsender,RoutedEventArgse){2SignalManager.Instance.Start();3

3、}45privatevoidStop_Click(objectsender,RoutedEventArgse){6SignalManager.Instance.Stop();7}这里创建一个SignalManager类,在Start时开启一个计时器,每隔1秒生成一个0~100的随机数,并作为模拟数值输出。SignalManager类代码:1namespaceSignalLightDemo.Business{2publicclassSignalManager:DependencyObject{3publicstaticSignalManagerInstance{get{returninst

4、ance;}}45publicintRandomA{6get{return(int)GetValue(RandomAProperty);}7set{SetValue(RandomAProperty,value);}8}910SignalManager(){11InitializationTimer();12}1314publicvoidStart(){15if(!timerA.Enabled)timerA.Start();16}1718publicvoidStop(){19if(timerA.Enabled)timerA.Stop();20}2122privatevoidInitiali

5、zationTimer(){23timerA=newTimer();24timerA.Interval=INTERVAL;25timerA.Elapsed+=timerA_Elapsed;26}2728voidtimerA_Elapsed(objectsender,ElapsedEventArgse){29this.Dispatcher.BeginInvoke(newAction(()=>{30RandomA=a.Next(MAX_VALUE);31}));32}3334publicstaticreadonlyDependencyPropertyRandomAProperty=35Dep

6、endencyProperty.Register("RandomA",typeof(int),typeof(SignalManager),newPropertyMetadata(0));3637privateRandoma=newRandom((int)DateTime.Now.Ticks);38privateconstintMAX_VALUE=100;39privateconstdoubleINTERVAL=1000;40privateTimertimerA;41privatestaticSignalManagerinstance=newSignalManager();42}43}下面

7、来重点:1.创建自定义控件SingnalLight1publicclassSingnalLight:ContentControl{2publicintValueA{3get{return(int)GetValue(ValueAProperty);}4set{SetValue(ValueAProperty,value);}5}678publicSingnalLight(){9this.AllowDrop=true;10}111213s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。