【发布时间】:2010-11-02 07:04:01
【问题描述】:
我有一个 StackPanel 包含一个 StackPanel 和一些其他项目。第一个StackPanel 具有垂直方向,内部的具有水平方向。内部有一个TreeView 和一个ListView,我希望它们扩展并适合窗口的宽度,我通过窗口设置并允许用户更改。我还希望外部 StackPanel 适合窗口的高度。我该怎么做?
编辑:
我已经转换为使用DockPanel,并且在每个元素中正确设置了DockPanel.Dock 属性,并且在两个停靠面板中都禁用了LastChildFill,布局仍然没有拉伸。
代码:
<Window x:Class="Clippy.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="400" Width="600" MinHeight="400" MinWidth="600" Loaded="Window_Loaded" SizeChanged="Window_SizeChanged">
<DockPanel Name="wrapperDockPanel" LastChildFill="False">
<Menu Height="22" Name="mainMenu" Width="Auto" DockPanel.Dock="Top" />
<ToolBar Height="26" Name="mainToolBar" Width="Auto" DockPanel.Dock="Top" />
<DockPanel Height="Auto" Name="contentDockPanel" DockPanel.Dock="Top" LastChildFill="False">
<TreeView Name="categoryTreeView" />
<ListView Name="clipListView" />
</DockPanel>
<StatusBar Height="23" Name="mainStatusBar" DockPanel.Dock="Top" />
</DockPanel>
</Window>
【问题讨论】:
-
为什么要设置 LastChildFill="False" ? True 的默认值会使 ListView 填满空间。
标签: c# wpf xaml stackpanel dockpanel