WPF (Windows Presentation Foundation):Windows 呈现基础==》是微软推出的基于Windows的 用户界面框架,属于.NET Framework 3.0 的一部分(开始引入),它提供了统一的编程模型,语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面,与WCF 及 WWF 并行为新一代 Windows操作系统以及WinFX的三个重大应用程序开发类库。

WPF以前的代号为“AValon”是 Microsoft 用于 Windows 的统一显示子系统,它通过WinFX 公开。它由显示引擎和托管代码框架组成,WPF 统一了 Windows创建,显示和操作文档,媒体和用户界面(UI)的方式,使开发人员可以创建更好的视觉效果,不同的用户体验。

特点:(1)程序人员与美工人员明确分工,对与WPF最重要的特色,矢量图的超强支持。兼容支持2D绘图,比如:矩形,自定义路径,位图等。文字显示的增强,XPS和消锯齿。三维强大的支持。包括3D控件及事件,与2D及视频合并打造更立体效果。渐变,使用高精确的(ARGB)颜色,支持浮点类型的像素坐标。这些对GDI+远远不及的。

  1. 灵活、易扩展的动画机制!.Net Framework 3.0类库提供了强大的基类,只需继承就

可以 实现自定义程序使用绘制。接口设计非常直观,完全面向对象的对象模型。使用对象描述语言XAML。使用开发工具的可视化编辑。

组成结构:WPF 由两个主要部分组成:引擎和编程框架。

WPF框架的核心是用于形状、文档、图像、视频、动画、三维以及用于放置控件和内容的面板的一系列控件

控件:从UI上分析:控件就是显示数据和响应用户操作的UI元素,即:控件就是数据和行为的载体。

数据驱动UI:

传统的GUI界面都是由windows消息通过事件传递给程序,程序根据不同的操作来表达出不同的数据体现在UI界面上,这样数据在某种程度上来说,受到很大的限制。

:现在:WPF中是数据驱动UI,数据是核心,处于主动的,UI从属于数据并表达数据,是被动的。WPF数据第一,控件第二。

控件的分类:(控件分为6类)

· 布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排列控件。其父类为Panel。

· 内容控件:只能容纳一个控件或者布局控件作为他的内容。所以经常借助布局控件来规划其内容。其父类为ContentControl。

· 带标题内容控件:相当于一个内容控件,但是可以加一个标题,标题部分也可以容纳一个控件或者布局,其父类为HeaderedContentControl。

· 条目控件:可以显示一列数据,一般情况下,是数据的类型是相同的。其共同的基类为ItemsControl。

· 带标题的条目控件:和上面的带标题内容控件类同,其基类为

HeaderdeItemsControl。

· 特殊内容控件:这类控件比较独立,但也比较常用,如TextBox,TextBlock,Image等。

  1. 在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体

x:Class=”命名空间.类名”;把后台类文件与前端合并,名字必须要一致,partial关键字就是表示此类或此方法为分布类或分布方法的

二、XAML语言.

XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。

特点:

  1. :定义应用程序的界面元素
  2. :显示的声明WPF资源(样式,模板,动画等)
  3. :可扩展性(自定义UI控件)
  4. :集中关注于界面的设计和实现

三、XAML命名空间以及命名空间映射到程序集

开发人员会将常用功能以类的形式封装,开发人员根据自己的业务需求,也会封装满足自身业务需求的类,如何有序组织这些类?一方面,便于开发人员准确调用;另一方面,编译器可以有效识别具有相同命名的类,就引入了命名空间,简单的说,是通过类似树状结构来组织各种类,是一种较为有效的类名排列方式。

而XAML 和.NET其他语言一样,也是通过命名空间有效组织起XAML 内部的相关元素类,这里的命名空间与.NET中的命名空间不是一一对应的,而是一对多,一眼望去,都是“网址”,这里的网址,是遵循XAML解析器标椎的命名规则,而不是真正的网址,而是映编码,映射一组命名空间

xmlns和xmlns:x的区别在于x作为别名,在应用时,以前缀形式出现,而xmlns作

为默认命名空间,不使用前缀标识的元素,来自该命名空间。

XAML命名空间的语法: xmlns:[可选映射前缀]="命名空间描述" 注意:没有加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个

默认的命名空间

一个完整的xaml文件,必须具备两个命名空间。

2、自定义类或程序集映射语法

xmlns:[必选映射前缀]="clr-namespace:[命名空间];assembly=[程序集名称]"

WPF的介绍和XAML语言相关推荐

  1. XAML语言基本介绍

    XAML语言基本介绍 WPF(Windows Presentation Foundation)是(微软推出的)基于Windows的用户界面框架,属于.NET Framework 3.0的一部分.WPF ...

  2. c#--XAML语言介绍

    什么是XAML语言 XAML语言特点(功能) 创建Wpf程序 默认的主要命名空间只有一个 带有前缀命名空间的声明 表示作为类库的命名空间作为引用 控件使用以x为前缀的命名控件属性 也可修它的前缀(自定 ...

  3. WPF使用X:Static做多语言支持

    原文:WPF使用X:Static做多语言支持 让程序支持多语言,一般把需要显示的字符串保存在一个资源类的static属性中. <!--[if !supportLists]--> <! ...

  4. WPF Unleashed Chapter 2:XAML Demystified 翻译(第二部分)

    上一篇WPF Unleashed Chapter 2:XAML Demystified 翻译(第一部分) 声明: 本译文仅供学习讨论,禁止用于商业用途,否则后果自负 类型转换(Type Convert ...

  5. WPF学习日记(二)——XAML语法

    XAML语法 1.XAML文档的树形结构   XAML使用标签来定义UI元素,每个标签对应.NET Framework类库中的一个控件类.通过设置标签的Attribute,不但可以对标签所对应控件对象 ...

  6. Xamarin XAML语言教程Visual Studio中实现XAML预览

    2019独角兽企业重金招聘Python工程师标准>>> Xamarin XAML语言教程Visual Studio中实现XAML预览 每次通过编译运行的方式查看XAML文件效果,需要 ...

  7. Xamarin XAML语言教程基本视图ContentViewg构架范围框架

    Xamarin XAML语言教程基本视图ContentViewg构架范围框架 ContentView视图基本上有三个作用,下面依次介绍. (1)范围框架:ContentView视图可以构建一个范围框架 ...

  8. Xamarin XAML语言教程XAML文件结构与解析XAML

    Xamarin XAML语言教程XAML文件结构与解析XAML XAML文件结构 在上文中,我们创建XAML文件后,会看到类似图1.16所示的结构 图1.16  结构 其中,.xaml文件和.xaml ...

  9. Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)

    Xamarin XAML语言教程使用Xamarin Studio创建XAML(二) 使用Xamarin Studio创建XAML Xamarin Studio和Visual Studio创建XAML文 ...

最新文章

  1. web cache缓存原理
  2. [centos][ntp][administrator] chrony ntp
  3. POJ3070 Fibonacci(矩阵快速幂)
  4. hdu 2275 Kiki Little Kiki 1 水题
  5. cobbler get-loaders 错误解决方法
  6. gephi 使用mysql数据,gephi练习数据
  7. Java 并发编程AQS基本介绍
  8. cesium 风向数据_风向标; 针对“实时”生产数据SQL Server开发/测试数据库克隆
  9. 更快,可扩展性更强的 Apache Cassandra 4.0 正式发布
  10. 安全监控、告警及自动化!
  11. 简述线性反馈移位寄存器
  12. 信息系统项目管理师-学习笔记与复习资料
  13. 计算机专业英语2013单词翻译,计算机专业英语词汇翻译
  14. 学习分享 | 适合初学者练习的C/C++开源项目
  15. 中文编程发展与兴起的重要意义
  16. ​李德毅:自动驾驶炒作这么久为什么老百姓仍没有坐上
  17. 找出数组中的最大数和最小数
  18. Blender图解教程:给苏珊一头美腻的秀发 之 用曲线实现风格化头发
  19. 嵌入式系统概论-6-软件与内核
  20. 连接HBase的正确姿势

热门文章

  1. android自定义控件不显示,解决Android Studio Design界面不显示layout控件的问题
  2. 移动Web开发基础-Viewport
  3. 安装CUDA时报错packages have unmet dependencies的一个可能原因
  4. LSTC模型的应用场景有哪些?
  5. Flutter2.5新特性 中文版
  6. 2023计算机毕业设计SSM最新选题之java儿童成长记录与分享系统cc35g
  7. SCRIPT1004: 缺少 ‘;‘IE8浏览器报错
  8. PR常见问题「六」pr去水印的几种方法
  9. C语言旅途之输出N的M次方的后三位数
  10. CSS设置背景铺满屏幕且不重复