WEB开发网
开发学院图形图像Flash 怎么样创建Silverlight的自定义控件 阅读

怎么样创建Silverlight的自定义控件

 2008-10-04 11:37:49 来源:WEB开发网   
核心提示: 打开 Explorer. 到 你刚创建的project 文件夹. 复制这些 文件: Default.html, CreateSilverlight.js, Silverlight.js, 和 Page.xaml. 在本篇 QuickStart中, 你不需要 Page.xaml.cs.导航

打开 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 方法就在相应的属性申明中被调用了,而类的构造函数也设置了基类被隐藏属性的,以使其同步.

上一页  1 2 3 4 5 6 

Tags:怎么样 创建 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接