【问题标题】:WPF Stackpanel visible heightWPF Stackpanel 可见高度
【发布时间】:2013-06-17 03:57:34
【问题描述】:

我有一个 StackPanel,它包含的垂直子节点数量超过了 StackPanel 的可见部分。

我需要知道 StackPanel 真正可见区域的高度 - 但 ActualHeight 属性返回 StackPanel 内所有子项的实际大小。如何获得可见大小?

【问题讨论】:

    标签: wpf stackpanel


    【解决方案1】:

    DesiredSize.Height - Margin.Top - Margin.Bottom

    【讨论】:

      【解决方案2】:

      您可以只检查 StackPanel 父级的大小。

      【讨论】:

      • 这种方法的问题是父级是一个网格并且这个 StackPanel 在一列内 - 父级的大小返回整个父级网格的大小
      • 那你为什么不检查相应行的ActualHeight 或列的ActualWidth
      • 因为我不希望控件依赖于它所在的容器 - 它可以是任何容器,例如 Canvas 或 StackPanel 或任何东西。所以我只会选择我发现自己适用于各种情况的解决方案:DesiredSize.Height - Margin.Top - Margin.Bottom
      • 我怀疑它是否适用于“所有情况”,但请继续。我希望 StackPanel 的 DesiredSize 总是返回 desired 高度,即显示所有子项所需的高度。并且保证金必须通过应用程序代码以某种方式设置。父级在布局期间不会这样做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 2013-09-05
      • 2015-11-30
      • 1970-01-01
      • 2011-07-10
      相关资源
      最近更新 更多