<window>作用月内只能放置一个元素,窗口的Content属性只能设置一个对象。使用面板控件。
Canvas:使用绝对定位,如果窗口的大小小于canvas面板,一部分内容会看不见,canvas中的项不能自动调整大小,在canvas内的控件指定左上角,用Canvas.Top和Canvas.Left属性。
WrapPanel:内容随窗口大小的变化而变化,内容按声明顺序逐个呈现,用ItemWidth和ItemHeight控制子项的默认尺寸。根据Orientation设置Vertical,Horizontal布局。
StackPanel:不会内容折行,内容会自动拉伸。根据Orientation设置Vertical,Horizontal布局。
Grid:划分为单元格,定义并配置列,定义并配置行,设置每个单元格内容。
Grid对象支持拆分器(splitter),允许用户调整网格类型中行或列的大小,每个科调整的单元格都会根据所包含的项进行重塑。添加拆分器,只需要定义<GridSplitter>控件,并使用附加语法指定要拆分的行或列。
- <Grid.ColumnDefinitions>
- <ColumnDefinition <span style="color:#ff0000;">Width="Auto"</span> />
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <span style="color:#ff0000;"><GridSplitter</span> Grid.Column="0" Width="5" Background="Gray"/>
- <StackPanel Grid.Column="0" VerticalAlignment="Stretch">
- <Label Name="lblSpellingInstructuins" FontSize="14" Margin="10,10,0,0">Spell Hints</Label>
- <Expander Name="expanderSpelling" Header="try these">
- <Label Name="lblSpellingHints" FontSize="12"/>
- </Expander>
- </StackPanel>
注意:支持拆分器的列的Width值为Auto。
ScrollViewer:内容自动滚动。
DockPanel: 将内容锁定在面板的某一侧(Top,Bottom,Left,Right),好处:在用户调整窗口大小时,每个元素仍然能连接到指定的面板边缘。
原文引用:http://blog.csdn.net/yuhaoyang1/article/details/7485989