显然Grid.SetZIndex()不存在。不像ctrl.SetValue(Grid.ZIndexProperty…)。
那么如何将一个Grid
的孩子带到前线呢?
ZIndex
仅在Canvas
控制内有效。
<Canvas>
<Grid Canvas.ZIndex="0"/>
<Grid Canvas.ZIndex="1"/>
</Canvas>
否则,例如在grid
中,文档大纲中的位置确定z索引。也就是说,它在XAML页面中的后者越高,它在Z索引中就越高。
祝你好运!
在这种情况下,您可以在儿童中找到UIElement并将其移到顶部:
// Type of parent element could be any your control
public static void MoveUiOnTop(UIElement element, Grid yourParentElement)
{
int index = yourParentElement.Children.IndexOf(element);
if (index != -1)
yourParentElement.Children.Move((uint)index, (uint)yourParentElement.Children.Count - 1);
}
这段代码写在“膝盖上”,但我不时使用这个小技巧。或者您可以尝试创建这样的扩展:
public static void MoveUiOnTop(this UIElement element, T yourParentElement)
但请注意父元素的类型或不使用泛型。