C# XAML MEF笔记:XAML中的Name和x:Name属性
"C# XAML MEF笔记" **标题**:C# XAML MEF笔记 **描述**:本文主要介绍了XAML的基本概念和应用,包括XAML的设计思想、Code behind的实现、x:Name和Name的区别、MEF在WPF应用中的使用等。 **标签**:C#、XAML、MEF笔记、x:Name、UriKi **知识点**: 1. **XAML的设计思想**:XAML是一种用来设计UI的语言,设计师用XAML设计出来的UI其后台代码(程序逻辑)可以由程序员用C#或者VB去写,这叫做Code behind。 2. **Code behind**:Code behind是指在XAML文件中编写的代码,它可以是C#或者VB代码,用于实现UI的逻辑功能。 3. **x:Name和Name的区别**:x:Name是XAML中的唯一标识,而Name是某些类型的属性,两者可以达到相同的效果,但x:Name可以应用于所有类型,而Name只能应用于拥有Name属性的类型。 4. **MEF在WPF应用中的使用**:MEF(Managed Extensibility Framework)是一种用于构建可扩展的应用程序的框架,在WPF应用中可以使用MEF来实现插件式的架构。 5. **UriKind**:UriKind是一个枚举类型,用于指定URI的类型,可以是Relative、Absolute或RelativeOrAbsolute。 6. **XAML中的事件处理**:在XAML中可以使用事件处理来响应用户的交互,例如点击按钮时执行某个操作。 7. **XAML中的资源引用**:在XAML中可以使用资源引用来访问资源,例如图片、样式等。 8. **XAML中的数据绑定**:在XAML中可以使用数据绑定来将数据绑定到UI控件上,例如将数据绑定到TextBox控件上。 9. **XAML中的控件模板**:在XAML中可以使用控件模板来定义控件的样式和行为,例如定义一个Button控件的样式和点击事件。 10. **XAML中的动画**:在XAML中可以使用动画来实现UI的动态效果,例如实现按钮的点击动画。 本文通过对XAML的基本概念和应用的介绍,帮助读者更好地理解XAML在WPF应用中的使用和实现。
1、这个Name属性是非常重要的――如果你想在一棵“树”上查找叫某个名字的元素,调用“树根”的FindName方法就可以做到了
3、TextBox t = this.FindName("Made_in_China") as TextBox;
4、x:Name的x加一个冒号,说明它来自x这个名称空间。这个名称空间是定义在XAML的根元素上的。也就是这句:
xmlns:x=[url]http://schemas.microsoft.com/winfx/2006/xaml[/url]
这个x就是XAML的字头了。这个名称空间的本意就是告诉我们――这个名称空间里所装的元素都与XAML解析有关。比如,我在代码里还使用了x:Code,
把本来应该呆在C#代码里的内容请到XAML里来了。
5、<Window x:Class <!-- 只使用xaml编写一个窗体 --><!-- 只使用一个单独的xaml文件 -->
namespace Cnblog{ // 只使用Code-Behind编写一个窗体 // 只使用一个单独的OnlyCo
6、XAML中x:Name和Name最终效果相同
XAML中使用Name其实被映射到了x:Name,x:Name才是XAML中唯一的标识,所以它们效果相同。
x:Name不是SomeWpfType.Name,当我们设置了x:Name后(假设为ElementName),
XAML中x:Name与Name并不完全等价。
不是所有类型都可以使用Name,但是任何类型都可以使用x:Name。
只有拥有Name属性,才可以在XAML中使用Name。不同于x:Name,因为这个是附加属性。
并且该类型、或者其父类型标记了RuntimeNameProperty特性,才拥有与x:Name一样的效果。
例如:<SolidColorBrush Color="Transparent" Name="ddd"/>便会报错,因为SolidColorBrush没有Name属性。
只能使用x:Name。<SolidColorBrush Color="Transparent" x:Name="ddd"/>
1、分析为什么要有x:Name
前面提到,XAML中经常需要通过名字来定位某个控件或对象,而SomeWpfType的Name属性,只是一个DP,我们可以设置两个控件拥有相同的Name属性。
那么这样就非常不利于定位控件,因为Name不是一个唯一的标识了。
使用对象的引用有两个好处:
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 3
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦