更新:2007 年 11 月
下面的示例演示如何更改 DockPanel 的 Dock 属性值。此示例还演示不同 Dock 值的功能。
示例
此示例绘制两个 Rectangle 元素,并向每个元素赋予一个 Name。两行 Button 元素代表每个Rectangle的 Dock 枚举值。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";
}