WPF TopMost control

Tenho o seguinte 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) É oPanel.ZIndex="99999999" uma maneira correta de definir esse controle como o TopMost nesse control

b) Mudará se eu mudar a visibilidade (Visível => Invisível => Visível

questionAnswers(3)

yourAnswerToTheQuestion