我正在使用一个DataTemplate来动画RenderTransform,以便在鼠标悬停时增加其大小。我遇到的问题是,当动画生效时,放大的列表框项目出现在其他项目后面。有没有办法从我的DataTemplate中控制列表框项的ZIndex,以便它始终位于其他项的顶部?
答案 0 :(得分:0)
您可以使用触发器从模板设置模板化元素的ZIndex。通过VisualTree解析像bellow
找出模板化的父控件{RelativeSource FindAncestor,AncestorType = ...
答案 1 :(得分:0)
zIndex仅适用于Canvas内托管的元素。因此,您可以将整个列表框控件包装在画布中,然后将Canvas.zIndex设置为99,作为用于执行转换的Trigger的一部分。但是我无法让它发挥作用。
唯一可行的其他选项是使用LayoutTransform而不是RenderTransform,因为在放置项目之前计算变换时会将其他项目移开。这意味着不需要设置任何zIndex,但这取决于您的要求。