当Button Stack Panel放置在ScrollViewer中时,Button Panel.ZIndex不起作用

时间:2011-01-04 07:11:06

标签: wpf wpf-controls

我创建了一个带有10个按钮的Stack面板。每当我将焦点放在按钮上时,它必须被展开,如果我移除焦点,它必须达到正常尺寸。

我是通过使用渲染概念和Panel.ZIndex。

完成的

但是如果我将StackPanel保留在ScrollViewer中,那么按钮扩展是不可见的,即扩展按钮位于ScrollViewer内部。

但扩展按钮必须完全可见。

请帮我怎么做

我附上了我的示例解决方案here

在示例解决方案中,前两行按钮面板放置在相应的滚动查看器内。

我希望前两行按钮与最后一行按钮相同。

1 个答案:

答案 0 :(得分:4)

Panel.ZIndex仅确定同一容器中控件的相对z顺序。此外,您所描述的内容与z-order无关,而是与ScrollViewer的剪辑行为无关。 ScrollViewer将其渲染剪辑到可见内容区域的边界。因此,ScrollViewer内部尝试在其边界之外渲染的任何内容都将被隐藏。你不能简单地关闭剪辑,否则ScrollViewer将毫无用处。

您可以做的是使用弹出窗口并手动将其放在按钮上。这不是很好,但这是上下文菜单和工具提示的工作方式。