【问题标题】:Get my second horizontal grid splitter working correctly让我的第二个水平网格拆分器正常工作
【发布时间】:2016-06-18 15:26:29
【问题描述】:

我对 GridSplitter 对象感到困惑:

上面有一个垂直分割器:

<GridSplitter
    Width="5" 
    Background="LightGray"
    Grid.Row="1"
    Grid.RowSpan="4"
    Grid.Column="0" />

它的行为正确并调整列的大小。

但我试图添加一个水平网格分割器:

<GridSplitter
    Width="5" 
    Background="Black"
    VerticalAlignment="Stretch"
    ResizeDirection="Rows"
    Grid.Row="2"
    Grid.Column="0" />

但是看到黑线了吗?那是在错误的地方。它应该是水平的,位于两个GroupBox 项目之间:

我的标记逻辑有什么问题?有趣的是,如果我将VerticalAlignment 设置为TopCenter,那么拆分器甚至都不会显示,更不用说工作了。

谢谢。

更新:

以上是调整大小的控件(感谢您的回答)。但只有组框(在这种情况下)应该调整大小。分组框的内容可以停留在顶部。

更新:修复了控件的大小调整,将 RowDefinition 高度值从 1* 更改为 auto

【问题讨论】:

  • 如果 GroupBox 上存在该属性,请尝试设置 VerticalContentAlignment="Top" 或设置 GroupBox 根子元素的 VerticalAlignment=Top
  • 我将暂时离开。改天做新题。谢谢。
  • @Nkosi 我解决了这个问题。我的RowDefinition 高度都设置为1*。我把它们改成了auto
  • 很高兴你知道了。很酷。

标签: c# wpf gridsplitter


【解决方案1】:

对于水平网格分割器,您应该设置高度和水平对齐方式。

<GridSplitter
    Height="5" 
    Background="Black"
    VerticalAlignment="Center"
    HorizontalAlignment="Stretch"
    ResizeDirection="Rows"
    Grid.Row="2"
    Grid.Column="0" />

【讨论】:

  • 这是一个您可以查看的示例。 msdn.microsoft.com/en-us/library/…
  • 谢谢!作为旁注,我看到GroupBoxstretches 的内容。在这种情况下,我希望 GroupBox to adjust but for the content of the GroupBox` 保持在顶部对齐。
  • 我无法想象您的意思。发布图片。这很可能是组框本身或其子项的对齐问题。
  • 发布另一个关于此问题的问题。包括图片和 xaml sn-p。看看我能做什么。
  • 我更新了这个问题。但我将不得不推迟一个新问题。它说我在 30 天内不能问超过 50 个问题。所以我不知道我下次什么时候可以问一个!哎呀。
猜你喜欢
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2014-09-22
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
相关资源
最近更新 更多