WPF介绍

本文详细介绍了WPF的布局系统,包括StackPanel、WrapPanel、DockPanel等,并探讨了XAML语言的核心特性,如依赖属性、逻辑树与可视化树。此外,还讲解了资源在WPF中的重要性以及静态资源和动态资源的使用场景。

WPF布局容器 WPF中的布局常用的主要包括五种:Canvas、Grid、StackPanel、DockPanel和WrapPanel。
1.StackPanel: 水平或垂直排列元素、Orientation属性分别:Horizontal/Vertical

2.WrapPanel:水平或垂直排列元素、针对剩余空间不足会进行换行或换列进行排列

3.DockPanel:根据容器的边界、元素进行Dock.Top、Left、Right、Bottom设置

4.StackPanel主要用于垂直或水平排列元素,每个元素各占一行或者一列,不会进行换行

WPF的XAML语法其实可以理解成另外一种形式的编程语言,其语法表现形式和XML类似,但是更严谨和更要求准确性。
XAML主要包括布局和控件,以此来构建各种形态的应用程序,除此之外,其中还有许多新的强大的东西,使得它更灵活和方便,例如依赖属性
XAML是界面编程语言,用来呈现用户界面,它具有层次化的特性,它的元素的组成就是一种树的结构类型。XAML编程元素之间通常以某种形式的“树”关系存在,它XAML中创建的应用程序UI可以抽象一个对象树,也称元素树,可以进一步将对象树分为两个离散但有时会并行的树:逻辑树和可视化树。
逻辑树:是根据父控件和子控件来构造而成的,在路由事件中将会按照这样的一种层次结构来触发。
可视化树是XAML中可视化空间极其子控件组成的一个树形的控件元素结构图。
XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。
特点:
定义应用程序的界面元素
显示的声明WPF资源(样式、模板、动画等)
可扩展性(自定义UI控件)
集中关注于界面的设计和实现.
XAML本身也定义了一些内置的标记扩展,这类扩展包括:
x:Type:在XAML中取对象的类型,相当于C#中的typeof操作,这种操作发生在编译的时候。
x:Static:是用来把某个对象中的属性或域的值赋给目标对象的相关属性。
x:null:是一种最简单的扩展,自作用就是把目标的属性设置为null。
x:Array:表示一个.NET数组。x:Array元素的子元素都是数组元素,它必须与x:Type一起使用,用于定义数组类型。
控件
其实布局也是控件的一种,但是单独讲布局列出来。因为布局在WPF中占据着异常重要的地位。接下来,主要说一下其他的控件,大体上,除了布局之外的控件可以分为以下的三类。
第一类:核心用户输入控件,用户创建用户界面的核心。其中比较常用的有Button、RadioButton、ComboBox、CheckBox、DataGrid、ListBox、ListView、TreeView、TextBlock、TextBox、Label。
第二类:窗口修饰控件,这些元素用于装饰Window对象的框架。其中常用的有Menu、ToolBar、StatusBar、ToolTip、ProgressBar。
第三类:媒体控件,支持音频/视频的重放和图像的显示。其中比较常用的控件有Image、MediaElement、SoundPlayerAction。
标记扩展
是一个被广泛使用的XAML语言概念。通过XAML标记扩展来设定属性值。从而可以让对象元素的属性具备更加灵活和复杂的赋值逻辑。常用的有以下五种
Binding(绑定)标记扩展,实现在XAML载入时,将数据绑定到XAML对象;
StaticResource(静态资源)标记扩展,实现引用数据字典(ResourceDictionary)中定义的静态资源。
ThemeResource(主题资源)标记扩展,表示系统内置的静态资源。
TemplateBinding(模板绑定)标记扩展,是现在XAML页面中,对象模板板顶调用。
RelativeSource(绑定关联源)标记扩展,实现对特定数据源的绑定。
资源:
资源是可以在应用程序的不同位置重用的对象。XAML资源的示例包括画笔和样式。每个框架级别的元素(FrameworkElement或FrameworkContentElement)都有一个resource属性,该属性包含资源定义的资源(作为ResourceDictionary)。可以在任何元素上定义资源,但是资源通常是在根元素上定义的。当在页面根元素上定义一个资源时,页面逻辑树中的所有元素都可以访问它,并且您可以重用相同的资源来设置接受该资源表示的类型的任何属性的值。
可以将资源引用为静态资源或动态资源。这可以通过使用StaticResource标记扩展或DynamicResource标记扩展来实现。 标记扩展是 XAML 的一项功能,您可以使用标记扩展来处理特性字符串,并将对象返回到 XAML 加载程序,从而指定对象引用。
用资源时,以下事项会影响是使用静态资源引用还是动态资源引用:
1如何为应用程序创建资源的总体设计(按页、在应用程序中、在松散的 XAML 中、在纯资源程序集中)。
2应用程序功能:实时更新资源是否是应用程序要求的一部分?
3该资源引用类型的相应查找行为。
4特定属性或资源类型,以及这些类型的本机行为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值