原则
控件的特性和样式分开
样式对应模板,提供有默认样式
继承
所有控件继承自
System.Windows.Controls.Control
control类重要属性,Template
control类继承自UIElement,所以所有控件也继承自 UIElement
与 UIElement 相对的 ContentElement
内容元素,与内容控件不是同一个概念
分类
(1)内容控件
(2)条目控件
(3)文本控件
(4)范围控件
内容控件
ContentControl 继承自 Control
特点
有一个 Content 属性,类型是 Object,只能有1个子元素
![](https://img.haomeiwen.com/i4437125/93cff2a47b5d1e9b.jpg)
标签控件 Label
与 TextBlock,TextBox 区别?
![](https://img.haomeiwen.com/i4437125/bd2799b73159e5aa.jpg)
![](https://img.haomeiwen.com/i4437125/c23ee3359ed2bf2d.jpg)
![](https://img.haomeiwen.com/i4437125/358151faebae2181.jpg)
按钮 Button
![](https://img.haomeiwen.com/i4437125/214d836a0573f040.jpg)
![](https://img.haomeiwen.com/i4437125/ec57fb982f2c3144.jpg)
多选 CheckBox
单选 RadioButton
注意和 ComboBox 区别?
![](https://img.haomeiwen.com/i4437125/c7be6f5870e53fab.jpg)
条目控件
特点
有 Items 属性,其集合每项类型为 Object
有 ItemsSource 属性,自动绑定
分为两类
(1)条目集合容器控件
(2)条目项控件(项可能是内容控件,例如 ComboBoxItem,TabItem)
![](https://img.haomeiwen.com/i4437125/e9148fc6ff6d445c.jpg)
虽然条目项是 Object 类型,但通常条目项都是稳定的已实现控件。
![](https://img.haomeiwen.com/i4437125/82db64c4b6b4e787.jpg)
菜单 Menu,工具条 ToolBar
ComboBox
TabControl
ListBox
ListView
StatusBar
TreeView,TreeViewItem
菜单 Menu
![](https://img.haomeiwen.com/i4437125/042da6766e84f7cc.jpg)
弹出菜单(上下文菜单)ContextMenu
![](https://img.haomeiwen.com/i4437125/ed16c867edbdfb13.jpg)
文本控件
范围控件
那xaml的规则约定都有哪些呢?
这个一时半会讲不完了,我通过由浅入深,循序渐进,举一反三,大量图例来为读者介绍相关内容,并在最后得出概念名词。
读者,这里要始终记住的是,我们现在研究的是怎么写这个xaml,都有哪些规则,约定。
先看一幅图
【这里插入最简单的世界你好的xaml图,并对各部分详细标注】
WPF
1,
WPF:
增强的交互体验库,主要负责图形显示。
2,
XAML:(同XML区别)
可扩展的应用程序标记语言,与HTML相似,但是XAML是强类型化的。
3,
WPF基础体系结构???
4,
WPF中的命令:
5,
WPF中数据绑定:
6,
WPF多媒体开发:
是内容控件
范围控件,继承控件,
ScrollBar
ProgressBar
SlideBar
条目控件,继承控件,
内容控件,继承控件,
只能有一个子控件,因为子控件是Object类型,所以如果是UI元素,调用OnRender,或者其他,可能调用ToString
Window 和 UserControl 都是内容控件
Frame 也是内容控件,这个可以隔离样式,通常用来显示html
ToggleButton 继承 ButtonBase
RadioButton,CheckBox 继承 ToggleButton,所以还是内容控件
HeaderedContentControl 是内容控件
GroupBox,Expander 继承 HeaderedContentControl,所以也是内容控件
snoop 工具
ToolTip 是内容控件
必须和某个控件的 ToolTip 属性相关联
ScrollViewer 是内容控件
【分割窗口】
GridSplitter
1,和 Grid 配套使用
2,使用1行,或1列,来摆放这个控件,rowspan,columnspan,
【共享尺寸组】
列,行定义,被重复使用,SharedSizeGroup
【UniformGrid】
很少用,均分
【Canvas】
图形应用
数据绑定
网友评论