如何:更改停靠属性

更新:2007 年 11 月

下面的示例演示如何更改 DockPanelDock 属性值。此示例还演示不同 Dock 值的功能。

示例

此示例绘制两个 Rectangle 元素,并向每个元素赋予一个 Name。两行 Button 元素代表每个RectangleDock 枚举值。LightCoral按钮代表珊瑚色的Rectangle,它最初停靠在Left,LightSkyBlue按钮代表淡蓝色的Rectangle,它最初停靠在Right。单击这些按钮之一将引发更改Dock位置的事件处理程序。此外,TextBlock 中包含的文本也发生变化,以显示Rectangle的新的停靠方向。

若要查看完整示例,请参见Dock 属性示例

<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,0,0,10">
  <Button Click="OnClick1" Background="LightCoral">Dock = "Left"</Button>
  <Button Click="OnClick2" Background="LightCoral">Dock = "Right"</Button>
  <Button Click="OnClick3" Background="LightCoral">Dock = "Top"</Button>
  <Button Click="OnClick4" Background="LightCoral">Dock = "Bottom"</Button>
</StackPanel>

<TextBlock DockPanel.Dock="Top" Name="Txt2">The Dock property of the LightSkyBlue Rectangle is set to Right</TextBlock>

<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,0,0,10">
  <Button Click="OnClick5" Background="LightSkyBlue" Foreground="White">Dock = "Left"</Button>
  <Button Click="OnClick6" Background="LightSkyBlue" Foreground="White">Dock = "Right"</Button>
  <Button Click="OnClick7" Background="LightSkyBlue" Foreground="White">Dock = "Top"</Button>
  <Button Click="OnClick8" Background="LightSkyBlue" Foreground="White">Dock = "Bottom"</Button>
</StackPanel>

<TextBlock DockPanel.Dock="Top" Name="Txt3">The LastChildFill property is set to True (default).</TextBlock>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,0,0,10">
  <Button Click="OnClick9" Background="White">LastChildDock="True"</Button>
  <Button Click="OnClick10" Background="White">LastChildDock="False"</Button>
</StackPanel>

<Border Background="LightGoldenRodYellow" BorderBrush="Black" BorderThickness="1">
  <DockPanel Name="myDP">
    <Rectangle Name="rect1" MinWidth="200" MinHeight="200" Stroke="Black" Fill="LightCoral" />
    <Rectangle Name="rect2" MinWidth="200" MinHeight="200" Stroke="Black" Fill="LightSkyBlue" />
  </DockPanel>
</Border>

前面的可扩展应用程序标记语言 (XAML) 文件中定义的事件在代码隐藏文件中处理。

Private Sub OnClick1(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
    System.Windows.Controls.DockPanel.SetDock(rect1, System.Windows.Controls.Dock.Left)
    Txt1.Text = "The Dock property of the LightCoral Rectangle is set to Left"
End Sub
private void OnClick1(object sender, RoutedEventArgs e)
{
    DockPanel.SetDock(rect1, Dock.Left);
    Txt1.Text = "The Dock Property of the LightCoral Rectangle is set to Left";
}

请参见

概念

面板概述

参考

DockPanel