Jos*_*osh 21
WPF中的布局受父容器的严重影响.例如,如果要创建包含标签和输入字段的表单,请考虑使用"网格"面板.默认情况下,WPF中的控件根据其父级的布局行为调整大小.下面是一个窗口示例,其中包含两个带标签的文本框和两个随窗口一起调整大小的按钮.
<Window>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Content="Contact Name" Grid.Row="0" Grid.Column="0" />
<TextBox Grid.Row="0" Grid.Column="1" />
<Label Content="Contact Location" Grid.Row="1" Grid.Column="0" />
<TextBox Grid.Row="1" Grid.Column="1" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right"
VerticalAlignment="Bottom" Grid.Row="2" Grid.Column="1">
<Button Content="OK" Width="75" Height="24" Margin="3" />
<Button Content="Cancel" Width="75" Height="24" Margin="3" />
</StackPanel>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要类似于浏览器的地址栏布局,您可以执行以下操作:
<Window>
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<Button Content="Back" DockPanel.Dock="Left" />
<Button Content="Forward" DockPanel.Dock="Left" />
<Button Content="Refresh" DockPanel.Dock="Right" />
<TextBox /> <!-- fill is assumed for last child -->
<DockPanel>
<StatusBar DockPanel.Dock="Bottom" />
<WebBrowser /> <!-- fill is assumed for last child -->
</DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
请注意,在上面的示例中,我嵌套了两个DockPanel.它也可以通过网格实现,但标记会更加混乱.如果您是WPF新手,我强烈建议您使用各种面板.一旦您了解何时将特定面板应用于特定布局,就可以更轻松地使用WPF.
| 归档时间: |
|
| 查看次数: |
32995 次 |
| 最近记录: |