惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
V
Visual Studio Blog
Jina AI
Jina AI
博客园 - 司徒正美
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
小众软件
小众软件
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
WordPress大学
WordPress大学
爱范儿
爱范儿
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏

博客园 - 雪影

C#异步提示和技巧 关于System.Windows.Forms.DateTimePicker的一个Bug 关于frameset中指定区域回退的实现 如何编写出拥抱变化的代码? WCF RIA Services Domain Serive的生命周期和数据交互 [译]WCF RIA Services中的集合(2) [译]WCF RIA Services中的集合(1) windows8应用安装挂起的一个原因 WPF 详解模板 Silverlight --- Behavior技术(三) Silverlight --- Behavior技术(二) Silverlight --- Behavior技术(一) Silverlight的依赖属性与附加属性(六) Silverlight的依赖属性与附加属性(五) Silverlight的依赖属性与附加属性(四) Silverlight的依赖属性与附加属性(三) Silverlight的依赖属性与附加属性(二) Silverlight的依赖属性与附加属性(一) 从数据库读取图片,并固定显示
Silverlight --- Behavior技术(四)
雪影 · 2012-10-29 · via 博客园 - 雪影


Silverlight 3中的Behavior技术(四)

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

    1. protected override void Invoke(object o) 
    2.       { 
    3.           TextBox TargetObject=Target; 
    4.           TargetObject.SelectAll(); 
    5.       } 

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

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


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

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

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

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

  本文来自dotnetWalker的博客,原文地址:http://blog.csdn.net/dotnetwalker/article/details/5438831