使用RenderTransform增加WPF中DataTemplate的大小

时间:2009-01-28 19:53:33

标签: wpf layout

我正在使用一个DataTemplate来动画RenderTransform,以便在鼠标悬停时增加其大小。我遇到的问题是,当动画生效时,放大的列表框项目出现在其他项目后面。有没有办法从我的DataTemplate中控制列表框项的ZIndex,以便它始终位于其他项的顶部?

2 个答案:

答案 0 :(得分:0)

您可以使用触发器从模板设置模板化元素的ZIndex。通过VisualTree解析像bellow

找出模板化的父控件

{RelativeSource FindAncestor,AncestorType = ...

答案 1 :(得分:0)

zIndex仅适用于Canvas内托管的元素。因此,您可以将整个列表框控件包装在画布中,然后将Canvas.zIndex设置为99,作为用于执行转换的Trigger的一部分。但是我无法让它发挥作用。

唯一可行的其他选项是使用LayoutTransform而不是RenderTransform,因为在放置项目之前计算变换时会将其他项目移开。这意味着不需要设置任何zIndex,但这取决于您的要求。