Wpf 最顶层控制
我有下面的UserControlWpf 最顶层控制,wpf,Wpf,我有下面的UserControl <UserControl x:Class="MyControl"> <Canvas Background="Transparent"> <Line x:Name="line"/> <TextBlock x:Name="textBlock" Panel.ZIndex="99999999" /> <Polygon Name="arrow" "/>
<UserControl x:Class="MyControl">
<Canvas Background="Transparent">
<Line x:Name="line"/>
<TextBlock x:Name="textBlock" Panel.ZIndex="99999999" />
<Polygon Name="arrow" "/>
</Canvas>
</UserControl>
a) 是的,不过将其设置为1
通常就足够了
b) 不。a)这很不干净,我建议您添加系统名称空间
xmlns:sys="clr-namespace:System;assembly=mscorlib"
设置如下:
Panel.ZIndex="{x:Static sys:Int32.MaxValue}"
b) 这应该不会有任何影响。另一个选项就是更改节点中元素的顺序
<line/>
<arrow/>
<textBlock/>
如果您正在寻找一种方法来绘制箭头下方的文本块,但仍然可以获得所有用户输入,您可以尝试使用IshitteVisible标志。它使您添加到画布中的任何项目成为最上面的项目,您必须记住,子集合有自己的顺序,而不仅仅是一个集合。如果要确保顺序独立于此,则需要将所有Z索引绑定到某个控制器类,该控制器类为您管理该顺序。