限制wpf dockpanel区域的大小

时间:2009-11-20 16:19:03

标签: wpf dockpanel

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

3 个答案:

答案 0 :(得分:0)

您可以设置要对接的控件的MaxWidth属性。

答案 1 :(得分:0)

根据您的其他说明,您有以下布局:

<DockPanel>
    <ItemsControl DockPanel.Dock="Left"/>
    <StackPanel DockPanel.Dock="Right"/>
</DockPanel>

我建议的第一件事是将LastChildFill="False"添加到DockPanel,以便左右部分不相关。

然后你必须决定当ItemsControl中的项目数量增加时会发生什么。您可以创建一个水平滚动条,使它们换行,等等。

答案 2 :(得分:0)

是的,我已经设置了LastChildFill =“False”,加上我的项控件已经在应用了水平模板的scrollviewer中。通过此设置,初始布局在行中看起来很棒。唯一的问题是当itemscontrol变得太大并且撞到正确的底座时,即使在包含在其中的网格上设置了minwidth,它也总是会强制右侧底座变小。以下是我的代码示例:

  <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>

感谢您的帮助。 。 。还有其他想法吗?