WPF布局
WPF用不同的容器安排布局,每一个容器有它自己的布局逻辑—有些容器堆栈优速,另一些容器在网格中不可见的单元格中排列元素等。WPF非常抵制基于坐标的布局,反而更注重创建灵活的布局,以使布局能够适应内容的变化、不同语言以及各种窗口尺寸。 WPF窗口只能包含一个元素。为了在WPF窗口中放置多个元素并创建更实用的用户界面,需要在窗口上放置一个容器,然后再容器中添加元素。下面是几项在WPF中的布局原则: 不应该显示设定元素(如:控件)的尺寸 不应使用屏幕坐标指定元素的位置 布局容器和它们的子元素“共享”可以使用空间 可以嵌套布局容器 所有的WPF布局容器都派生自System.Windows.Controls.Panel抽象类的面板。DispatcherObject(抽象类)←DependencyObject←Visual(抽象类)←UIElement←FrameworkElement←Panel(抽象类)。Panel类提供了少量成员,包括三个公有属性如下: Background 该属性是用于为面板背景着色的画刷。如果想要接受鼠标事件,必须将该属性设置为非空值(可以将背景设置为透明,第6章可以学习基本画刷内容) Children 该属性是在面板中存储的条目集合。这是第一级对象—换句话说,这些条目自身也可以包含更多条目。 IsItemsHost 该属性是一个bool值