拼吾爱程序人生.Net编程Silverlight 在Silverlight2 Beta2中开发自定义控件

1  /  1  页   1 跳转 查看:612

在Silverlight2 Beta2中开发自定义控件

在Silverlight2 Beta2中开发自定义控件

本文主要讲述如何在Silverlight2中开发一个自定义控件,我使用环境是VS2008 Silverlight2 Beta2。

一:创建Silverlight2 类库项目,如下图:


 附件: 您所在的用户组无法下载或查看附件


然后我们添加一个控件类,该可以继承自Control类,也可以继承自其他类比如ContentControl,ItemControl。我们继承自ContentControl,代码如下:

Code


其实现在已经做好了一个最简单的自定义控件,我们给给他一个控件模板就可以了。在Page.xaml的Grid中添加如下代码:

Code


效果如下图:

 附件: 您所在的用户组无法下载或查看附件

二:创建控件模板下面我们为控件提供一个默认的控件模板,像类库项目中添加添加Generic.xaml文件,代码如下:

Code


向我们的控件类CarySLCustomControl的构造函数中添加如下代码:

Code


在Page.xaml中我们只需要引用控件<custom:CarySLCustomControl/>,就可以达到上面一样的效果了。

三:模板绑定我们在使用控件的时候都会做响应的属性设定,比如:

Code


但是你现在做该设置是不会生效的,还仍然使用控件模板的设定,我们可以在控件模板中通过使用 {TemplateBinding ControlProperty} 的标识扩展句法来绑定到控件的属性来实现,使用ContentPresenter控件可以灵活的设置各个属性。修改后的Generic.xaml的代码如下:

Code


Page.xaml中更改控件的属性如下:

Code


效果如下图:

 附件: 您所在的用户组无法下载或查看附件

原文出处:http://www.cnblogs.com/carysun/a ... lcustomcontrol.html

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Silverlight] 的这些文章也感兴趣:

silverlight 页面导航(跳转)方法集合
使用Silverlight Streaming托管Silverlight应用程序
Silverlight 2 beta 2计划一周内发布 新特性值得期待
使用silverlight中的Storyboard实现动画效果
Silverlight的开发工具
使用SilverLight构建插件式应用程序(一)
Silverlight 2 RTM
一步一步学Silverlight 2系列(27):使用Brush进行填充
在silverlight中使用Linq TO XML
Silverlight整合Asp.net AjAX的技术应用
 

回复:在Silverlight2 Beta2中开发自定义控件

四:添加一个单击事件
WPF中支持向下和向下的事件路由,路由事件的路由可有效地向上遍历或向下遍历树,这要取决于该事件是隧道路由事件还是冒泡路由事件,而Silverlight中的路由事件只支持冒泡路由策略。下面我们为该控件添加一个单击事件,代码如下:

Code


现在我们就可以使用控件的单击事件了,Page.xaml中如下:

Code


Page.xaml.cs中编写事件处理程序如下:

Code


运行后如下图:

 附件: 您所在的用户组无法下载或查看附件


五:可视化状态



在Silverlight中微软引入一种新的模式来处理事件和用户进行交互,例如当鼠标经过控件时。控件可以从一种状态转换到另一种状态,我们下面就已从"normal" 状态到 "pressed" 状态来进行简单的说明。我们使用Silverlight中的Visual State Manager (VSM)来简化对可视化状态和可视化状态转换之间的处理。使用VisualState对象来定义不同的状态,Visual Transition对象定义状态间的转换。使用Visual StateManager类的静态方法GoToState来控制状态的装换。修改完成后的generic.xaml中的代码如下:

Code


在控件类CarySLCustomControl中添加如下代码:

Code


这样就可以了。到此一个最简单的控件就开发好了。
 
1  /  1  页   1 跳转

快速回复帖子

标题
禁用 URL 识别
禁用表情
禁用 Discuz!NT 代码
使用个人签名
  [完成后可按 Ctrl+Enter 无刷新发布]  

版权所有 拼吾爱程序人生    Total Unique Visitors:

free hit counter

Powered by Discuz!NT 2.1.202   Copyright © 2001-2008 Comsenz Inc. 鄂ICP备07500843号
返顶部