DockPanel:停靠面板
DockPanel定義一個區域,在此區域中,您可以使子元素通過描點的形式排列,這些對象位於 Children 屬性中。停靠面板類似於WinForm中控件的Dock屬性。DockPanel會對每個子元素進行排序,並將根據指定的邊進行停靠,多個停靠在同側的元素則按順序排序。在DockPanel中,指定停靠邊的控件,會根據定義的順序占領邊角,所有控件絕不會交疊。
默認情況下,后添加的元素只能使用剩余空間,無論對DockPanel的最后一個子元素設置任何停靠值,該子元素都將始終填滿剩余的空間。如果不希望最后一個元素填充剩余區域,可以將DockPanel屬性LastChildFill設置為false,還必須為最后一個子元素顯式指定停靠方向。
1、填充整個剩余空間
使用XAML代碼實現:
1 <Window x:Class="WpfDemo.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="DockPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen"> 5 <DockPanel> 6 <Button DockPanel.Dock="Left" Content="ButtonLeft"></Button> 7 <Button DockPanel.Dock="Top" Content="ButtonTop"></Button> 8 <Button DockPanel.Dock="Right" Content="ButtonRight"></Button> 9 <Button DockPanel.Dock="Bottom" Content="ButtonBottom"></Button> 10 <Button Content="ButtonTop"></Button> 11 </DockPanel> 12 </Window>
2、最后元素不填充剩余空間
使用XAML代碼實現:
1 <Window x:Class="WpfDemo.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="DockPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen"> 5 <DockPanel LastChildFill="False"> 6 <Button DockPanel.Dock="Left" Content="ButtonLeft"></Button> 7 <Button DockPanel.Dock="Top" Content="ButtonTop"></Button> 8 <Button DockPanel.Dock="Right" Content="ButtonRight"></Button> 9 <Button DockPanel.Dock="Bottom" Content="ButtonBottom"></Button> 10 <Button DockPanel.Dock="Top" Content="最后一個Button不填充剩余空間"></Button> 11 </DockPanel> 12 </Window>