2021-07-28

##C#WPF了解

一、WPF了解:
WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框
架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正
做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形
界面。
WPF特点:1、程序人员与美工人员明确分工
2、矢量图的超强支持
3、灵活、易扩展的动画机制
4、可以使用任何一种.Net编程语言(C#,VB NET等开发语言)进行开发

二、XAML语音:
XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标 记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。
特点:定义应用程序的界面元素
显示的声明WPF资源(样式、模板、动画等)
可扩展性(自定义UI控件)
集中关注于界面的设计和实现
XAML三个顶级元素:
Window、UserControl(用户控件,布局的时候像窗体那样布局就可以 了)、Page把窗体以网页形式展现。而一个XAML页面里只能有一个顶级元 素。而顶级元素里面只能有一个子元素。因此要有布局控件。

三、控件:
控件就是显示数据和响应用户操作的UI元素,也即:控件就是数据和行为的载体。
控件是咱们的门面,控件有很多,但是如果仔细去分析,也是有规律可循的,根据 其作用,我们可以把控件分类,日常工作中我们打交道最多的控件无外乎6类:
布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和 排列控件。Grid、StackPanel、DockPanel等控件都属此类,它们拥有共同的父 类为Panel。
内容控件:只能容纳一个控件或者布局控件作为他的内容。Window、Button等 控件属于此类,因为只能容纳一个控件作为其内容,所以经常借助布局控件来 规划其内容。它们的共同父类是ContentControl。
带标题内容控件:相当于一个内容控件,但是可以加一个标题(Header),标 题部分亦可容纳一个控件或者布局,GroupBox、TabItem等是这类控件的典型 代表。它们的共同父类是HeaderedContentControl。
条目控件:可以显示一列数据,一般情况下这列数据的类型是相同的。此类控 件包括ListBox、ComboBox等。它们额共同基类是ItemsControl。此类控件在 显示集合类型数据方面功能比较强大。
带标题条目控件:相当于一个条目控件加上一个标题显示区。TreeViewItem、 MenuItem都属于此类控件。这类控件往往用于显示层级关系数据,结点显示在 其Header区域,子级结点则显示在其条目控件区域。此类控件的共同基类是 HeaderdeItemsControl。
特殊内容控件:比如TextBox容纳的是字符串、TextBlock可以容纳可自由控制格 式的文本、Image容纳图片类型数据等。这类控件相对比较独立,但也比较常用。

WPF的内容模型 根据是否可以装载内容、能够装载什么样的内容。

你可以把控件想象成一个容器,容器里装的东西就是它的内容。控件的内容可以直接 是数据,也可以是控件。当控件的内容还是控件的时候就形成了控件的嵌套。我们把被 嵌套的控件称为子级控件,这种控件嵌套在UI布局时尤为常见。因为允许控件嵌套,所 以WPF的UI会形成一个树形结构。如果不考虑控件内部的组成结构,只观察由控件组成 的“树”,那么这棵树为逻辑树(LoicalTree);WPF控件往往是由更基本的控件构成的,即 控件本身就是一颗树,如果连控件本身的树也考虑在内,则这棵比逻辑树更“繁茂”的树称 为可视元素树(Visual Tree)。 控件是内存中的对象,控件的内容也是内存中的对象。控件通过自己的某个属性引 用着作为其内容的对象,这个属性称为内容属性(Content Property)。“内容属性”是个 统称,具体到每种控件上,内容属性都有自己确切的名字——有的直接就叫Content,有的 叫Child;有些控件的内容可以是集合,其内容属性有叫Items或Children的。
控件的内容属性与XAML标签的内容存在一定的对应关系,下面稍作解析。
所谓“于理”,就是说我们严格按照语法来行事。控件不是有内容属性吗?那在XAML 里我们就应该能够使用Attribute=Value或者属性标签的形式来为内容赋值。

1、ContentControl族特点:
均派生自ContentControl类。
它们都是控件(Control)。
内容属性的名称为Content。
只能由单一元素充当其内容。
2、ItemsControl族特点:
均派生自ItemsControl类。
它们都是控件,用于显示列表化的数据。
内容属性为Items或ItemsSource。
每种ItemsControl都对应有自己的条目容器(Item Container)。
3、Panel族元素特点:
均派生自Panel抽象类。
主要功能是控制UI布局。
内容属性为Children。
内容可以是多个元素,Panel元素将控制它们的布局。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值