WPF 主界面布局中DockPanel的停靠与默认填充
来源:互联网 发布:python基础教程2 编辑:程序博客网 时间:2024/05/17 07:34
在WPF中,通常的主界面大都是DockPanel 根元素,一次DockPanel .Top主菜单、DockPanel .Top Toolbar、DockPanel .Bottom Statusbar,中建Fill一个主区域,但在使用时往往有个误区,就是充满剩余空间的元素如何填充,因为DockPanel没有DockPanel.Fill属性。实际做法是先停靠Menu、Toolbar、Statusbar等等可以通过DockPanel .Top、DockPanel .Bottom、DockPanel .Left、DockPanel .Right停靠的子元素,然后,也就是最后,加入填充区元素,同时注意,不能设置此元素的DockPanel属性,这样,最后加入的元素就自动填充整个剩余空间了。
文档中对这一"技巧"没有任何说明,导致无谓的时间浪费,记录于此,希望对大家有所帮助。
<DockPanel Name="dockPanel1">
<Menu Height="23" Name="menu1" DockPanel.Dock="Top">
<MenuItem Header="用户管理">
<MenuItem Header="修改密码"></MenuItem>
<MenuItem Header="管理用户"></MenuItem>
</MenuItem>
<MenuItem Header="铁塔管理">
<MenuItem Header="增加"></MenuItem>
<MenuItem Header="修改"></MenuItem>
<MenuItem Header="删除"></MenuItem>
</MenuItem>
<MenuItem Header="通信管理">
<MenuItem Header="启动/停止巡测"></MenuItem>
<MenuItem Header="通信测试"></MenuItem>
<Separator/>
<MenuItem Header="参数设置"></MenuItem>
</MenuItem>
<MenuItem Header="历史查询">
<MenuItem Header="启动/停止巡测"></MenuItem>
<MenuItem Header="通信测试"></MenuItem>
<Separator/>
<MenuItem Header="参数设置"></MenuItem>
</MenuItem>
<MenuItem Header="帮助"/>
</Menu>
<ToolBarPanel Height="26" Name="toolBarPanel1" DockPanel.Dock="Top" Orientation="Horizontal">
<ToolBar>
<Button>111</Button>
<Button>222</Button>
</ToolBar>
<ToolBar Margin="350,0,0,0">
<Button>111</Button>
<Button>222</Button>
</ToolBar>
</ToolBarPanel>
<StatusBar Height="23" Name="statusBar1" DockPanel.Dock="Bottom" VerticalAlignment="Bottom" />
<!--注意Grid,没有设置任何DockPanel.Dock属性:-->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="240"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="240"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.RowSpan="2" Grid.Column="1" HorizontalAlignment="Left" Width="5" Name="gridSplitter1" ResizeDirection="Columns"/>
<WrapPanel>
<RadioButton Margin="5">全部</RadioButton>
<RadioButton Margin="5">三管塔</RadioButton>
<RadioButton Margin="5">角钢塔</RadioButton>
<RadioButton Margin="5">单管塔</RadioButton>
</WrapPanel>
<TreeView Name="treeView1" Grid.Row="1">
<TreeViewItem Header="连云港市">
<TreeViewItem Header="塔1"></TreeViewItem>
<TreeViewItem Header="塔2"></TreeViewItem>
<TreeViewItem Header="塔3"></TreeViewItem>
<TreeViewItem Header="塔4"></TreeViewItem>
</TreeViewItem>
<TreeViewItem Header="XXX市"></TreeViewItem>
</TreeView>
<WindowsFormsHost Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Name="windowsFormsHost1" OpacityMask="{x:Null}" Background="#FF190000" />
<Image Grid.Row="2"></Image>
</Grid>
</DockPanel>
如果“Dockstyle.Dock”属性设置为 Top 或 Bottom,请将控件的“Width”属性设置为 Auto。同样,如果“Dockstyle.Dock”属性设置为 Left 或 Right,请将控件的“Height”属性设置为 Auto。
默认情况下 DockPanel 设置为 LastChildFill,这表示添加到 DockPanel 的最后一个子控件将使其 DockPanel.Dock 属性设置为 Fill。若要更改此行为,请设置 DockPanel 的 LastChildFill 属性。
- WPF 主界面布局中DockPanel的停靠与默认填充
- WPF 主界面布局中DockPanel的停靠与默认填充
- WPF 布局控件 之 DockPanel
- wpf之布局控件stackpanel、wrappanel、dockpanel的前世今生
- [WPF] 神奇的DockPanel
- WPF之路——DockPanel(停靠面板)
- WinForm:DockPanel实现窗体的停靠
- WPF 布局 - Grid, StackPanel, DockPanel, WrapPanel
- WPF DockPanel
- 在DockPanel 的子窗体打开另一子窗体使其停靠在主窗体的方法
- DockPanel布局
- 1.9 GridView: 将GridView中布局填充到界面中
- WPF快速入门2—布局WrapPanel,DockPanel,StackPanel
- DotNetBar中dotNetBarManager设置窗口停靠布局的技巧
- wpf 停靠
- WPF中呈现变形与布局变形的区别
- DockPanel的使用与技巧
- DockPanel的使用与技巧
- 隐性改变display类型
- vsftp
- 工作中常用到的 Linux 命令小记
- js动态绑定事件
- 接口、类、抽象类、继承、构造函数、方法重写、方法重载、自动转型、多态、引用传递
- WPF 主界面布局中DockPanel的停靠与默认填充
- 黑马程序员--集合
- cas系列学习文档
- VBA选中离散的单元格
- java中同步方式--synchronized
- Null value was assigned to a property of primitive type setter of"原因及解决方
- powerbuilder开发的程序,查询功能中,listview中的属性列重复出现
- 先UDP组播 socket 再TCP建立长连接
- ORACLE 表锁定与解锁