怎么样创建Silverlight的自定义控件
2008-10-04 11:37:49 来源:WEB开发网打开 Explorer. 到 你刚创建的project 文件夹. 复制这些 文件: Default.html, CreateSilverlight.js, Silverlight.js, 和 Page.xaml. 在本篇 QuickStart中, 你不需要 Page.xaml.cs.
导航 Explorer 到 SilverlightCustomControl project 文件夹. 粘贴这四个文件.
在创建SilverlightCustomControl project的 Visual Studio 程序中 , 打开 Solution Explorer. 右击 project, 然后选择Add, Existing Item.
在Add Existing Item 对话框中,选择四个你才粘贴的 文件.点击 OK.
在 Solution Explorer, 右击 project, 然后选择Properties.
在Properties 窗口上, 点击Debug 栏. 改变 Start Action 为 Specific Page, 设置值为 Default.html.
打开 Page.xaml 进行编辑. 删除x:Class 属性 和 root element中的Loaded handler . (You would have needed the code file and a separate build action to support this code, but you do not need any code to merely instantiate your control in XAML.)
现在你需要添加一行xmlns 来引用你的自定义 control assembly. 添加以下属性到你的根tag下:
xmlns:my="clr-namespace:SilverlightSampleControl;assembly=ClientBin/SilverlightSampleControl.dll".
现在添加一个特定的 element将放置一个MyLabel 到你的页面中来. 但是在element名字前你应该加一个前缀my ,这样编译器才知道怎么去找到它的定义. 你也可以设置你为MyLabel定义的属性值.
CS
<my:MyLabel Height="30" Width="200" Text="Hello...." LabelColor="Blue"/>
VB
<my:MyLabel Height="30" Width="200" Text="Hello...." LabelColor="Blue"/>
编译并对application进行debug .你可以看到自定义的 MyLabel 显示了. 你也可以添加断点,比如在 MyLabel 的构造函数处, 或者在handlers 中添加,来调试用户交互过程.
隐藏继承属性
上面的示例定义了两个属性 (Height 和 Width) 它们通过使用关键字new有意的隐藏了基类的相应属性,这种方法在Silverlight SDK中的其它Sample中也可以看到. 隐藏属性并不是一个最佳的办法,但是却是目前唯一可行的办法. Control 从FrameworkElement继承 Height 和 Width , 但是 FrameworkElement 却不清楚 Control 基类的实现定义. XAML 属性试图来设置基类的属性.除了隐藏这些从基类来的属性外,你在被访问前应该同步这些属性.在这个示例中, UpdateLayout 方法就在相应的属性申明中被调用了,而类的构造函数也设置了基类被隐藏属性的,以使其同步.
Tags:怎么样 创建 Silverlight
编辑录入:爽爽 [复制链接] [打 印]- ››创建SQL2005自动备份,定期删除的维护计划
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››创建动态表单 javascript
- ››怎么样在sharepoint 2010 中操作List的办法
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
更多精彩
赞助商链接