【问题标题】:How to Data Bind the ActualHeight of a Parent Stackpanel如何数据绑定父堆栈面板的实际高度
【发布时间】:2015-04-03 12:14:09
【问题描述】:

我有一个带有 UserControl 的窗口。我想要完成的是绑定包含 UserControl 的 StackPanel 的 ActualHeight(stackpanel 没有固定大小),以便在 UserControl 内实现 WrapPanel 的正确行为。

我尝试了Height="{Binding ElementName=MyStackPanel, Path=ActualHeight}"Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type StackPanel}}, Path=ActualHeight}",但没有成功。

我将 UserControl 放置在 Window 的 StackPanel 中的方式如下:

     <StackPanel x:Name="MyStackPanel" Orientation="Vertical">
         <!-- Wrap Panel / UserControl-->
         <local:WrapControl />
     </StackPanel>

如果有帮助,主窗口是 devexpress DXRibbonWindow

【问题讨论】:

  • MyStackPanel 是否与 stkTop 相同?你想绑定哪个控件的高度?目前尚不清楚您到底想要达到什么目的。请添加一些详细信息。
  • 是的。对不起……我会改正的。
  • 仍然不清楚你想绑定哪个高度,即你试图在哪个控件上设置Height="{Binding ...}
  • 我尝试绑定MyStackPanel的身高。 WrapControl 有一个WrapPanel,里面有一些Expanders。所以我只想将扩展时不适合的扩展器向右移动。我尝试将Height=... 设置为WrapPanel 内的WrapControl UserControl
  • WrapPanelHeight

标签: c# wpf user-controls wrappanel


【解决方案1】:

好吧,看来StackPanel 没有“拉伸”的概念来占据所有可用空间。

Grid 替换StackPanel 效果很好。

【讨论】:

  • 你不需要那个绑定。默认情况下,Grid 会拉伸其子元素(除非您更改它们的 Horizo​​ntalAlignment 或 VerticalAlignment)。
猜你喜欢
  • 2011-04-10
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
相关资源
最近更新 更多