WPF TopMost控件

时间:2011-04-04 11:49:50

标签: wpf

我有以下UserControl

<UserControl x:Class="MyControl">
    <Canvas Background="Transparent">
        <Line x:Name="line"/>
        <TextBlock x:Name="textBlock" Panel.ZIndex="99999999" />
        <Polygon Name="arrow" "/>
    </Canvas>
</UserControl>

a)Panel.ZIndex="99999999"是否可以将此控件设置为该控件中的TopMost?

b)如果切换可见性(Visible =&gt; Invisible =&gt; Visible)会改变吗?

3 个答案:

答案 0 :(得分:2)

a)是的,虽然将其设置为1通常就足够了。

b)否。

答案 1 :(得分:2)

a)这是非常不洁净的,我建议你添加系统命名空间

xmlns:sys="clr-namespace:System;assembly=mscorlib"

并设置如下:

Panel.ZIndex="{x:Static sys:Int32.MaxValue}"

b)这应该没有效果。

答案 2 :(得分:1)

另一种选择只是改变节点中元素的顺序

<line/>

<arrow/>
<textBlock/>