初识UserControl _转http://www.cnblogs.com/limo/archive/2010/12/14/1905172.html
2011-01-05 15:11
281 查看
原文地址:http://www.cnblogs.com/limo/archive/2010/12/14/1905172.html
1,新建一个SilverlightApplication,里面会有一个MainPage.xaml文件和对应的MainPage.xaml.cs文件,随便在xaml中写点什么
例如我写了点这个,下面是MainPage.xaml全部代码
showsourceviewsource
print?
2,在项目下再添加一个SilverlightPage页面或者SilverlightUserControl都行,我添加了一个Page.并且导入了一个命名空间xmlns:myUserControl="clr-namespace:UserControlDemo",其中myUserControl是个名字可以随便写.这样就能在这个页面中引用UserControlDemo这个命名空间中的类了.所以我在Page这页面的Grid中可以用到MainPage这个类了.
下面是Page.xaml的代码
showsourceviewsource
print?
这时会发现我在用MainPage这个类的时候有一个Msg属性,这个属性不是silverlight类中的,那很显然就是自己给MainPage加的属性.
代码如下
showsourceviewsource
print?
的确是咱自己加的属性,只不过这个属性的值会在MainPage.xaml的Textblock中显示.
差点忘了,最后把VS自动生成的App.xaml.cs里面的启动函数修改一下,启动页改成Page.
showsourceviewsource
print?
不知不觉你就会发现其实这就是自定义控件的开始.
1,新建一个SilverlightApplication,里面会有一个MainPage.xaml文件和对应的MainPage.xaml.cs文件,随便在xaml中写点什么
例如我写了点这个,下面是MainPage.xaml全部代码
01 | <UserControlx:Class= "UserControlDemo.MainPage" |
02 | xmlns= " |
03 | xmlns:x= " |
04 | xmlns:d= " |
05 | xmlns:mc= " |
06 | mc:Ignorable= "d" |
07 | d:DesignHeight= "300" d:DesignWidth= "400" > |
08 |
09 | <Gridx:Name= "LayoutRoot" Background= "White" > |
10 | <StackPanelHeight= "86" HorizontalAlignment= "Left" Margin= "94,90,0,0" Name= "stackPanel1" VerticalAlignment= "Top" Width= "200" > |
11 | <TextBlockHeight= "36" Name= "myTextBlock" Text= "默认值" /> |
12 | <ButtonContent= "Button" Height= "23" Name= "myBtn" Width= "75" /> |
13 | </StackPanel> |
14 | </Grid> |
15 | </UserControl> |
下面是Page.xaml的代码
01 | <navigation:Pagex:Class= "UserControlDemo.Page1" |
02 | xmlns:myUserControl= "clr-namespace:UserControlDemo" |
03 | xmlns= " |
04 | xmlns:x= " |
05 | xmlns:d= " |
06 | xmlns:mc= " |
07 | mc:Ignorable= "d" |
08 | xmlns:navigation= "clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation" |
09 | d:DesignWidth= "640" d:DesignHeight= "480" |
10 | Title= "Page1Page" > |
11 | <Gridx:Name= "LayoutRoot" > |
12 | <myUserControl:MainPagex:Name= "demoUserControl" Msg= "UserControlDemo" ></myUserControl:MainPage> |
13 | </Grid> |
14 | </navigation:Page> |
代码如下
01 | namespace UserControlDemo |
02 | { |
03 | public partial class MainPage:UserControl |
04 | { |
05 | public StringMsg |
06 | { |
07 | set |
08 | { |
09 | myTextBlock.Text=value; |
10 | } |
11 | get |
12 | { |
13 | return myTextBlock.Text; |
14 | } |
15 | } |
16 | public MainPage() |
17 | { |
18 | InitializeComponent(); |
19 | } |
20 | } |
21 | } |
差点忘了,最后把VS自动生成的App.xaml.cs里面的启动函数修改一下,启动页改成Page.
1 | private void Application_Startup( object sender,StartupEventArgse) |
2 | { |
3 | //this.RootVisual=newMainPage(); |
4 | this .RootVisual= new Page1(); |
5 | } |
相关文章推荐
- centos 5.3 配置sendmail服务器http://www.cnblogs.com/fjsbf/archive/2010/01/26/1656706.html
- SQL视图(转自http://www.cnblogs.com/fineboy/archive/2005/09/14/236731.html)
- http://www.cnblogs.com/kerryking/archive/2008/08/03/1259259.html
- HBase Coprocessor 剖析与编程实践(转载http://www.cnblogs.com/ventlam/archive/2012/10/30/2747024.html)
- 指飘器(鼠标移到某元素上显示另一个元素,原帖这么叫的) 原帖:http://www.cnblogs.com/volnet/archive/2008/03/29/1128413.html
- http://www.cnblogs.com/elleniou/archive/2012/07/31/2617312.html
- Coherence Step by Step 转载http://www.cnblogs.com/danye/archive/2012/07/30/2614516.html
- static作用(修饰函数、局部变量、全局变量)转自http://www.cnblogs.com/stoneJin/archive/2011/09/21/2183313.html
- 浮点数在计算机中存储方式 转自:http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html
- 静态 http://www.cnblogs.com/lzjsky/archive/2011/01/24/1943199.html
- SQlite 基础 转自:http://www.cnblogs.com/elleniou/archive/2012/05/04/2482041.html
- [转-来自啊泰][模板制作技巧4]背景隔行换色 [http://www.cnblogs.com/babyt/archive/2005/03/13/118095.html]
- 再谈iframe自适应高度(http://www.cnblogs.com/MaxIE/archive/2008/08/13/1266597.html)
- STL所有算法简介 (转) http://www.cnblogs.com/yuehui/archive/2012/06/19/2554300.html
- http://www.cnblogs.com/secenes/archive/2008/05/15/1198933.html
- App模块化及工程扩展____http://www.cnblogs.com/qianxudetianxia/archive/2011/05/01/2030232.html
- .Net中的设计模式——从实例谈OOP、工厂模式和重构 http://www.cnblogs.com/wayne-ivan/archive/2006/09/07/496920.html
- 窥探jQuery(http://www.cnblogs.com/xiaozhuoyun/archive/2008/04/03/1136360.html)
- linux命令之ls---转自http://www.cnblogs.com/peida/archive/2012/10/23/2734829.html
- WindowsPhone问题笔记-- 正确选择build action 解决媒体资源无法读取问题 转:http://www.cnblogs.com/qinxg/archive/2012/07/17/2594503.html