TOC

This article has been localized into Chinese by the community.

面板控件:

WPF面板简介

面板是WPF裡其中一個很重要的控件。面板扮演著裝載其他控件的容器的角色,同時也控制著頁面和視窗的佈局。由於一個視窗只允許一個子控件,因此面板經常會被使用於分隔空間,這樣每個空間就會有一個控件或者面板。

面板有多种不同样式,每种样式都有他各自的布局和控件处理方式。因此,要实现你需要的功能和布局,必须要选择正确的面板样式,这对初学WPF编程者可能会有些困难。下一节将会对每种面板进行简要的介绍,以便提供应用面板的基本概念。接下来,再对每种面板进行详细的了解。

Canvas

这是一种简单的面板,与WinForms应用处理方式类似。该面板可以设置每个子控件的坐标,容许完全的布局控制。但是该面板不够弹性,因为你必须手动移动子控件以保证他们按照你需要的位置和方式排列。推荐在你想要完全自己布置子控件时选用。

WrapPanel

WrapPanel 面板将每个子控件按照水平(默认方式)或者竖直的方式满布一行或一列,让后再布置下一行或者下一列。当你需要水平或者竖直排列子控件且能自动滚动进入下一行(列)时采用他。

StackPanel

StackPanel 的行为与 WrapPanel 很相似,但与 WrapPanel 會包裝過長的子控制項行為不同,它會盡量延長自己。与WrapPanel类似,它的方向可以是水平或垂直,但每个项目拉伸占满全宽或全高,而不是基于最大的项目调整宽度或高度。当你想要一连串控制项尽可能填满空间而不是被包裝,请使用 StackPanel 。

DockPanel

DockPanel允许您将子控件停靠在顶部、底部、左侧或右侧。默认情况下,如果没有给定特定的dock位置,最后一个控件将填充剩余的空间。您可以使用Grid面板实现相同的操作,但是对于更简单的情况,DokPanel将更易于使用。每当需要将一个或多个控件停靠到一个侧边时,使用DockPanel,比如将窗口划分为特定区域。

Grid

Grid可能是面板类型中最复杂的。Grid可以包含多行和多个列。您为每行定义一个高度,为每列定义一个宽度,以像素的绝对数量、可用空间的百分比或自动方式,其中行或列将根据内容自动调整其大小。当其他面板不适合使用时, 使用Grid,例如,当您需要多个列并且经常与其他面板组合时。

UniformGrid

UniformGrid就像Grid一样,具有多行和多列的可能性,但有一个重要的区别:所有行和列将具有相同的大小!当您需要网格行为而不需要为行和列指定不同的大小时,使用此方法。

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!