1

有没有办法可以固定 wpf 停靠面板?我在网上搜索过,但没有找到任何允许这样做的功能。我想要的是锁定停靠面板停靠区域的大小。例如,我希望正确区域的宽度始终保持锁定。我所看到的唯一解决方案是 3rd 方控件。有谁知道限制这些区域宽度的方法?提前谢谢。

4

3 回答 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 回答