WPF 内建面板学习总结(一)

来源:互联网 发布:苹果7手机淘宝打不开 编辑:程序博客网 时间:2024/04/30 07:09

面板能承载其他子元素,并可设置子元素的大小、位置。DockPanel、Canvas、StackPanel、Grid是WPF中主要的内建面板,这些面板类都位于System.Windows.Controls.Panel。

1、DockPanel

停靠面板,使子元素可以停靠在整个面板的某一条边上。 WinForm中是通过设置Dock属性,停靠控件的;但在WPF中,没有Dock属性。可设置模板之内的子元素DockPanel.Dock属性为“LeftTopRightBottom”,属性设置后不会改变子元素自身的HeightWidth。面板上的子元素设置时,先设置MenuToolbarStatusbar等可以通过“TopBottomLeftRight”停靠的子元素,然后加入填充区元素,注意,不能设置该元素的DockPanel属性,该元素就能自动填充整个剩余空间了。

2、Canvas

画布,可承载任意元素,包括控件,图形,甚至文字。它不会自动调整子元素的排列及大小,仅支持用显式坐标定位控件,也允许指定相对任何角的坐标。

它有四个属性:Canvas.Left Canvas.Right Canvas.Bottom Canvas.Top。这个属性很特别,如果有Canvas.Left时,Canvas.Right就不起作用,如果有Canvas.TopCanvas.Bottom就不起作用。并且这四个属性是相对的,即不管Canvas变成多大或多小,控件的相对位置都是固定的。如果子元素没有使用任何附加属性,它会被放在Canvas的左上方(等同于设置LeftTop0)。

Canvas的主要用来画图,对于矢量图形的准确定位非常有用。。默认不会自动裁减超过自身范围的内容,溢出的内容会显示在Canvas外面,可以通过设置ClipToBounds=True”来裁剪多出的内容,默认情况为flase

3、Grid

网格面板,通过定义Gird的行列进行定位的面板。Grid有两个定位行列的属性:Grid.ColumnDefintionsGrid.RowDefiniftion。在Grid上添加子元素后,需要定义子元素的Grid.ColumnGrid.Row属性。




0 0