有没有办法可以固定 wpf 停靠面板?我在网上搜索过,但没有找到任何允许这样做的功能。我想要的是锁定停靠面板停靠区域的大小。例如,我希望正确区域的宽度始终保持锁定。我所看到的唯一解决方案是 3rd 方控件。有谁知道限制这些区域宽度的方法?提前谢谢。
prem_data
问问题
3489 次
3 回答
1
You can set the MaxWidth property of the control you are docking.
于 2009-11-20T16:35:55.780 回答
1
根据您的其他解释,您具有以下布局:
<DockPanel>
<ItemsControl DockPanel.Dock="Left"/>
<StackPanel DockPanel.Dock="Right"/>
</DockPanel>
我建议的第一件事是添加LastChildFill="False"
到,DockPanel
以便您的左右部分变得不相关。
然后你必须决定当项目数量ItemsControl
增加时会发生什么。您可以使水平滚动条出现,使它们环绕,等等。
于 2009-11-20T21:36:12.077 回答
0
是的,我已经设置了 LastChildFill = "False",而且我的项目控件已经在滚动查看器中,并应用了水平模板。使用此设置,初始布局在行中看起来很棒。唯一的问题是,当 itemscontrol 变得太大并碰到正确的停靠点时,即使在包含在其中的网格上设置了最小宽度,它也会始终强制正确的停靠点变小。这是我的代码示例:
<DockPanel Grid.Row="1" LastChildFill="False">
<!--Horizontal template applied-->
<ScrollViewer DockPanel.Dock="Left">
<ItemsControl/>
</ScrollViewer>
<Grid DockPanel.Dock="Right" MinWidth="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"/>
<Button Grid.Column="1"/>
</Grid>
</DockPanel>
谢谢您的帮助 。. . 还有其他想法吗?
于 2009-11-21T01:21:27.680 回答