3
扩展器内部有多个treeviews,随着内容一起增长。但是当高度大于窗户的大小时,窗户就会出现在窗户外面。WPF限制扩展器的大小
明显的解决办法是设置树视图的MaxHeight,但我不能很容易地确定,因为可用的高度取决于
- 窗口高度
- 其他扩展(开启/关闭)
我需要改变什么来使treeview的高度自动增长,但从不大于窗口的高度?
<StackPanel CanVerticallyScroll="True" ClipToBounds="False" Height="Auto" Name="StackPanel2" Width="250" DockPanel.Dock="Left" Orientation="Vertical" VerticalAlignment="Top" CanHorizontallyScroll="False" Margin="5">
<Border BorderThickness="0" CornerRadius="5" Padding="1" BorderBrush="Red" Margin="0,5" >
<Expander Header="Expander3" Height="Auto" IsExpanded="False" Width="Auto" Margin="2" BorderThickness="1">
<Grid Height="Auto" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
<TreeView Height="Auto" BorderThickness="1" Margin="0,0,0,0" Padding="7" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
</TreeView>
</Grid>
</Expander>
</Border>
</StackPanel>
感谢您的回答!我也考虑过这种方法,但我真的需要树形视图中的滚动条,而不是在堆叠面板或其扩展器中。所以如果我有3个扩展器,只有最后一个将在树形视图中显示滚动条。但如果事实证明这是不可能的,我会将您的解决方案标记为答案。 – Muis 2010-12-05 23:48:12