WPF基础学习笔记整理 (二) XAML

基础知识:

  • XAML:Extensible Application Markup Language, zammel;
  • 用于实例化.NET对象的标记语言
  • XMAL使用树形逻辑结构描述UI;
  • BAML:Binary Application Markup Language,即XMAL的二进制表示,VS会在编译WPF应用程序时,将所有XAML转换为BAML,且BAML最终会作为资源被嵌入到DLL或EXE程序集中;
  • BAML是标记化的,故相对于XAML较小;
  • WPF应用程序三个顶级元素:Window、Page和Application;.
  • xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  • WPF的核心命名空间,包含了所有WPF类,包括构建用户界面的控件;
  • xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  • XAML命名空间,包含各种XAML使用特性,这些特性可以影响文档的解释方式;
  • 上边两个命名空间是通过使用URI(Uniform Resource Identifier)格式的命名空间;
  1. schemas.com域归Microsoft拥有,只有Microsoft会使用它,从而防止了其它组织的使用;
  2. XAML中使用的XML命名空间和.NET命名空间不是一一对应的,它是一个多个命名空间的集合,使用URI可以将它们组合到一个XML命名空间中,防止了多个命名空间引起的使用混乱;
  • Window类中的InitializeComponent()方法的所有工作就是调用System.Windows.Application类的LoadComponent()方法,从程序集中提取BAML,构建用户界面(创建所有控件对象+设置其属性+关联所有事件处理程序);
时间: 2024-12-10 16:52:56

WPF基础学习笔记整理 (二) XAML的相关文章

WPF基础学习笔记整理 (九) 资源

基础知识: WPF的资源是一种保管一系列有用对象的简单方法,方便于重用. WPF UI元素的Resources属性,都是继承自FrameworkElement列,且其类型为ResourceDictionary. ResourceDictionary在保存资源时,会将资源转换为object类型.XAML编译器能根据标签的Attribute自动识别资源类型,而C#中则需要我们介入转换. WPF资源网站:http://wpf.codeplex.com/ StaticResource是在程序载入内存时对

WPF基础学习笔记整理 (一)

基础知识: WPF:Windows Presentation Foundation,用于Windows的现代图形显示系统: WPF用于编写应用程序的表示层: 引入“内置硬件加速”和“分辨率无关”: Silverlight是WPF的一个子集,是WPF的“网络版”(WPF/E): WPF的开发理念:“数据驱动”,数据驱动UI,数据第一,空间第二: 数据与界面之间的桥梁是Data Binding: MVVM:Model-View-ViewModel: XMAL:Extensible Applicati

WPF基础学习笔记整理 (八) 命令

基础知识: 命令是应用程序的任务,并跟踪任务是否能够被执行. 命令不包含执行应用程序任务的代码. 命令是比事件更高级的元素. 良好的Win应用程序,应用程序逻辑不应位于事件处理程序中,而应在更高层的方法中编写代码. 将事件委托到适当的命令,使控件的启动状态和相应命令的状态保持同步. WPF命令模型: 图1 WPF命令模型 5.

WPF基础学习笔记整理 (三) x命名空间

“x命名空间”中x是XAML的首字母,用来引导XAML编译器把XAML代码编译成CLR代码.下边的图片表格列举了该命名空间部分成员及其作用,更多请见URL:https://msdn.microsoft.com/zh-cn/library/ee792007(v=vs.110).aspx. 图1 部分x命名空间成员及其作用

WPF基础学习笔记整理 (四) 布局

WPF使用的是容器(container)进行布局: WPF窗口(Window类型)只能包含单个元素,故为了放置多个元素并增强界面效果,引入了容器: WPF布局容器都派生自System.Windows.Controls.Panel抽象类: 图1 Panel类及其子类的继承关系图

js基础学习笔记(二)

2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出""号内的内容. <script type="text/javascript"> document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出.

ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: <input name="UserName&quo

WPF基础学习笔记(一)Dependency Object 和 Dependency Property

.依赖属性是WPF个人觉得对精彩和最有特色的部分.所以特地先拿出来. 首先要实现Dependency Property 则必须要继承Dependency Object.如果看下WPF的基础控件其实都间接或者直接继承Dependency Object,这点规律性我在后面再做规律陈述. 首先Dependency Object 我搬下书的描述 Only the thread that the Dispatcher was created on may access the DispatcherObje

WPF 基础学习笔记

学习笔记: 对于勾选框的选择全部先显示到textbox中. this.LengthText.Text +=((CheckBox)sender).Context; 加一个功能Reset button功能:点击以后,把多个checkbox都变为非勾选.可以这么写: dropdown和combobox互动:选择finish combobox内容,notetext文本框显示相应内容. dropdown_selectionChanged 效果: 那么怎么在WPF执行窗体加载的时候给予Notetext文本框