【发布时间】:2016-04-06 21:54:30
【问题描述】:
我有一个 wpf c# 应用程序。 在我的窗口中,我想在它打开时从某个高度开始。但我也想让用户能够调整窗口大小。 我的窗口有一个将 lastChildFill 设置为 true 的停靠面板。它在左侧有一棵树,用于选择您希望查看其详细信息的部分,在中间有一个分隔符,在右侧有该部分的详细信息(您需要最后一个子填充,这样才能获得所有剩余空间)。 代码如下所示:
<StackPanel>
<DockPanel LastChildFill="True" Background="#344755">
<TextBlock Text="Header" Background="#344755" Foreground="White"/>
</DockPanel>
<DockPanel LastChildFill="True" Margin="5">
<telerik:RadTreeView x:Name="treeV">
<telerik:RadTreeView.Items>
<telerik:RadTreeViewItem Header="General" />
<telerik:RadTreeViewItem Header="General2" />
<telerik:RadTreeViewItem Header="General3" />
<telerik:RadTreeViewItem Header="General4" />
</telerik:RadTreeView.Items>
</telerik:RadTreeView>
<Separator/>
<Grid >
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ItemsControl>
<DockPanel LastChildFill="True" Margin="5">
<Grid >
<TextBlock Text="Something"></TextBlock>
<CheckBox HorizontalAlignment="Right"/>
</Grid>
</DockPanel>
// And many more dock panels
</ItemsControl>
</ScrollViewer>
</Grid >
</DockPanel>
</StackPanel>
这是我的问题:如果我不给第二个停靠面板高度,那么窗口会自动变大并且滚动条永远不会显示。如果我确实给出了高度,那么滚动确实会显示,但如果用户调整窗口大小,停靠面板不会调整大小,分隔符也不会调整。
有什么想法吗?
【问题讨论】:
-
如果我的回答有帮助,请更新我。
-
您的布局过于复杂,您显然是 wpf 的新手,因为您误用了 ItemsControls
标签: c# wpf scrollviewer