【问题标题】:restricting the size of wpf dockpanel region限制 wpf 停靠面板区域的大小
【发布时间】:2009-11-20 16:19:03
【问题描述】:

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

【问题讨论】:

    标签: wpf dockpanel


    【解决方案1】:

    您可以设置正在停靠的控件的 MaxWidth 属性。

    【讨论】:

    • 我尝试在停靠面板中设置的控件上设置 maxwidth 和 minwidth,但它似乎不起作用。也许我应该多解释一下我的问题。我在网格布局的一行中嵌套了一个停靠面板。行很小。在这个停靠面板中,我有一个水平项目控件,它在左侧停靠中增长,在右侧停靠中增长了一些按钮。我希望按钮保持相同的大小,并且不会被项目控件推动或重叠。当项目控件大小达到这些按钮时,就会发生这种情况。有没有办法确保正确的停靠面板不会缩小。
    • 将停靠面板的 LastChildFill 属性设置为 true。将按钮停靠在右侧,不要为 itemscontrol 设置停靠属性。
    • 按照你的建议试过了,还是不行。还是按了右边的按钮。还有其他想法吗?
    【解决方案2】:

    根据您的补充说明,您的布局如下:

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

    我建议的第一件事是将LastChildFill="False" 添加到DockPanel,这样你的左右部分就变得不相关了。

    然后你必须决定当ItemsControl 中的项目数量增加时会发生什么。您可以使水平滚动条出现,使它们环绕,等等。

    【讨论】:

      【解决方案3】:

      是的,我已经设置了 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>
      

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

      【讨论】:

        猜你喜欢
        • 2013-11-24
        • 1970-01-01
        • 2011-12-19
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        • 1970-01-01
        • 2012-06-03
        • 1970-01-01
        相关资源
        最近更新 更多