Silverlight 3中的Behavior技术(四)

本文介绍了一种在Silverlight应用程序中实现TextBox自动选中文本的方法。通过创建自定义Action,无需编写额外代码即可在TextBox获得焦点时自动选中所有文本。

接着,我们在Invoke方法中撰写的程序代码如下:

protected override void Invoke(object o) { TextBox TargetObject=Target; TargetObject.SelectAll(); }

其中的Target是目标对象,也就是我们将来把该Action拖曳到TextBox时所指定的控件,而我们针对该Target呼叫其SelectAll()方法,来选取其中的文字。就这样,完成了。

接着我们编译建置该项目,然后在我们的Silverlight主项目当中,引用(Add Reference)建置好的.dll

当项目中正确的引用了该.dll之后,就可以开始使用了,请切换到Blend 3,依照刚才我们先前介绍如何使用Action的方式,切换到Assets页标签下,您会看到我们刚才建立的这个Action已经出现在选项当中(如果没有找到,请检查一下是否有正确的引用该.dll或是该项目)。这时候,您可以直接将该Action (TextBoxAutoSelectAction)拖曳到画面中的TextBox上:

拖曳上去之后,切换到属性窗口,可以设定该Action的属性:

请将Trigger中的EventName设定为GotFocus,接着将TargetName设为TextBox1,整个设定的意思是:当TextBox1GotFocus事件被触发时,在TextBox对象上(TextBox1对象视为Target)执行该Action(也就是让TextBox中的文字被选取)

经过这样的设定后,应用程序执行时只要用户一点选TextBox1或是透过Tab键切换到TextBox1(GotFocus事件被触发)TextBox中的文字就自动被选取了。未来我们只需要把这个Behavior拖曳到任何TextBox对象上,就可以不须撰写任何程序代码,在需要的时候执行此Action

尽管这个范例似乎很简单(只是选取文字),但重点是透过这样的技术,开发人员可以利用此机制,或设计出各式各样的Action,供其他DeveloperDesigner使用,诸如影片的控制(播放、暂停)、甚至是各种窗口或是动画的处理(例如对象的淡入淡出…)。总括来说,Action是一个相当好用且重要的功能,值得开发人员广泛的使用在自己的项目当中。

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为种: 无监督(unsupervised) 训练数据没有给定...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值