XAMl使用其他命名空间中的类型及加载和编译
以前我们讲过XAMl命名空间。为了使便宜钱知道XAMl文档中元素对应的.NET类型,需要知道XAMl明档中指定特定的两个命名空间。XAML是一种实例化.NET对象的通用方法
,除了可以实例化一些标准的WPF UI对象之外,也可以实例化开发人员自定义的,不属于WPF命名空间.NET对象,或者是属于.NET框架中的其他命名空间中的对象。
为了在XAMl中使用在其他命名空间或程序集中定义的类型,可以使用如下语法:
<xmlns:d="clr-namespace:NameSpace;assembly=AssenblyName"
通常将命名空间映射的XAMl代码放在根元素中,最好是放在WPF和XAMl命名空间的后面。开发人员需要为d、namespace和assemblyname指定相应的信息,分别代表的意思
d:用于指定希望在Xaml文档中使用的命名空间前缀,类似于XAMl命名空间使用的x:前缀,可以使用任意字符
NameSpace:是完整的.NET命名空间的名字。
AssemblyName:这是类型被定义的程序集名称,不用指定.dll扩展名,这个程序集必须被当前的WPF项目所引用。如果需要引用项目中的其他类,
通常可以省略这个程序集的名称。
例如:.NET的类型是定义在System命名空间中,并且位于Mscorlib.dll程序集中,为了使用.NET CLR类型系统,可以是用如下的命名空间
<xmlns:sys=“clr-namespace:system;assembly=mscorlib”>
挡在XAMl文档的根元素中指定该命名空间的引用后,就可以在XAML文档中使用一些简单的.NET类型,比如stirng date int
<s:DateTime>2012-12-01</s:DateTime>
加载和编译XAML
WPF和XAML是分离的。一个WPF应用程序可以没有XAMl文件,也可以只具有XAMl文件。在创建一个WPF应用程序时,可能会有如下3中类型的代码风格
1.没有XAMl文件,只有代码的应用程序:类似于传统的Windows Form应用程序,通过程序代码来生生成用户界面。在Windows Form中,尽管vs可以通过设计窗口来可视化用户界面
在后台,vs将会自动生成用于实例化对象的代码
2.代码和为编译的XAMl标记:在一些需要非常灵活和动态的用户界面来说,这是比较常用的一种方法,开发人员可以在运行时使用XamlReader类来加载一个为编译的XAMl XamlReader
类位于System.Windows.markup命名空间中。
3.代码和已经译号的XAMl:以编译后的XAML又被称为BAML,通常以程序集资源的形式进行保存,这是vs 2012默认支持的开发方法。
XAMl使用其他命名空间中的类型及加载和编译的更多相关文章
- 未能在全局命名空间中找到类型或命名空间名称“Wuqi”
下载了AspNetPager控件用以进行分页操作,在项目中放入控件后,运行报错:未能在全局命名空间中找到类型或命名空间名称“Wuqi” . 解决办法:在项目下拉框“引用“中添加AspNetPager引 ...
- PHP 使用命名空间(namespace),实现自动加载
示例: #/DB/MySql.class.php也就是DB文件夹下有MySql.class.php文件 namespace DB; class MySql { public function __co ...
- 在Unity3D的网络游戏中实现资源动态加载
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕.应该优先加载用户附近的场景资源,在游 ...
- Qt中如何 编写插件 加载插件 卸载插件
Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...
- WP8.1开发中ListView控件加载图列表的简单使用(1)
我也是刚接触WP编程没几个月,就是在这段时间一直闲着没事,然后又比较喜欢WP这款系统,就学习了WP这方面的开发言语,自学是很困难的,掌握这方面的资料不多,很初级,就是自己在网上找资料学习过程中,看到别 ...
- 移动设备的HTML页面中图片实现滚动加载
如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时, ...
- (转)在Unity3D的网络游戏中实现资源动态加载
原文:http://zijan.iteye.com/blog/911102 用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的 ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- imagesLoaded – 检测网页中的图片是否加载
imagesLoaded 是一个用于来检测网页中的图片是否载入完成的 JavaScript 工具库.支持回调的获取图片加载的进度,还可以绑定自定义事件.可以结合 jQuery.RequireJS 使用 ...
随机推荐
- django 生命周期
客户端发送请求 客户端(浏览器) → 发送请求 → 服务器(wsgi) → 解析请求 → 服务器(Middleware) → process_request → 服务器(urls) → 通过路由寻vi ...
- dom4j学习总结(一)
dom4j学习总结(一) (一)创建Document的基本操作 /** * xml基本操作 */ public void BaseOperation(){ //创建一个document Doc ...
- MongoDB复制集与Raft协议异同点分析
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.日志复制流程: a.raft leader节点在接收client请求后,先将请求写到日志中,再将日志通过 ...
- select2 模糊查询远程数据
详细:http://www.cnblogs.com/linJie1930906722/p/6060370.html $("#name").select2({ language: & ...
- 【洛谷九月月赛T1】签到题(bsgs)(快速乘)
说好的签到题呢qwq....怎么我签到题都不会啊qwq 之后看了bsgs才发现貌似不是那么那么难fake!!什么东西... 先贴上部分分做法(也就是枚举1的个数,然后每一步都进行取模(这和最后取模结果 ...
- Mysql数据类型《一》整数类型
数值类型 1. 整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 ======================== ...
- [To Selina] 《撒野》读后感
- Git的一些用法
三. Git的一些用法 1. .gitignore文件 屏蔽文件 : .gitignore文件是告诉Git哪些目录或者文件需要忽略, 这些文件将不被提交; 常用场景 : 写完代码后会执行变异调试等操作 ...
- Hibernate 使用注释书写配置文件
Hibernate 使用注释 Hibernate使用注释有个好处就是我们不需要建立.hbm.xml文件,直接在实体类中添加注解就可以完成往数据库中进行数据操作 配置文件:hibernate.cfg.x ...
- 主流服务器虚拟化技术简单使用——Hyper-V(二)
当在多台Windows Server上部署了hyper-v的时候,需要采用合适的方法管理这些hyper-v节点. 远程桌面 最简单的方法就是逐台远程桌面登陆Windows Server,再使用每台本地 ...