Wpf 如何使扩展器在网格行上展开

Wpf 如何使扩展器在网格行上展开,wpf,grid,overflow,z-index,expander,Wpf,Grid,Overflow,Z Index,Expander,我一直在寻找答案,但我找到的所有解决方案都无法正常工作。 问题就在这里。我有一个基于网格的界面,如下所示: |\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu| |(v) expander |(v)expander |(v)expander |过了一段时间(当我一直在做其他事情来刷新我对这个话题的想法时),我找到了解决办法。它基于Karl Shifflet解决方案()。 我将容纳顶

我一直在寻找答案,但我找到的所有解决方案都无法正常工作。
问题就在这里。我有一个基于网格的界面,如下所示:


|\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu|
|(v) expander |(v)expander |(v)expander |过了一段时间(当我一直在做其他事情来刷新我对这个话题的想法时),我找到了解决办法。它基于Karl Shifflet解决方案()。
我将容纳顶部扩展器的网格放置在画布上。我将Canvas
Panel.ZIndex
属性设置为大约99,并将背景设置为所需的颜色。
Grid.Background
属性设置为透明和
Width
以填充画布大小:

Background="Transparent" Width="{Binding RelativeSource=
  {RelativeSource Mode=FindAncestor, AncestorType={x:Type Canvas}}, 
  Path=ActualWidth}"

重要的是将所有扩展器[Cord>VistaCalpule设置为顶部,因为当其中一个扩展时,网格高度(在这种情况下不应该被硬定义)也会调整大小,并且当它们垂直对齐没有设置为顶部时,所有扩展器都放置在中间。p>


我希望它能帮助一些人。

如果你想保证它会出现在顶部,你可能想使用弹出窗口而不是扩展器。

扩展器应该保持打开状态(选中),还是应该像组合框的下拉菜单一样关闭?好吧,两者都可以,但如果它能一直打开直到你点击关闭它会更好。看起来卡尔可能已经删除了他的网站。链接现在已断开(我再也找不到任何包含解决方案的页面,但我希望我的解释足够有助于帮助您实现解决方案
Background="Transparent" Width="{Binding RelativeSource=
  {RelativeSource Mode=FindAncestor, AncestorType={x:Type Canvas}}, 
  Path=ActualWidth}"