如何将UserControl放在前台?

时间:2014-06-13 08:34:44

标签: c# wpf silverlight

我需要在屏幕上显示UserControl,o所有内容。

使用以下代码UserControl在ContentGrid下显示内容。

如何将UserControl置于前台?

                                   


Main.xaml

<Grid x:Name="LayoutRoot">
    <local:AdvertisementsFullScreen>
    </local:AdvertisementsFullScreen>

             

3 个答案:

答案 0 :(得分:0)

<强> Z-索引

http://msdn.microsoft.com/en-us/library/system.windows.controls.panel.zindex.aspx

<Grid>
<Grid Panel.ZIndex="1">
    <Rectangle Fill="Blue" Width="50" Height="50" Panel.ZIndex="1" />
    <Rectangle Fill="Red" Width="50" Height="50" Panel.ZIndex="0" />
</Grid>
<Grid Panel.ZIndex="0">
    <Rectangle Fill="Green" Width="50" Height="50" Panel.ZIndex="0" />
    <Rectangle Fill="Yellow" Width="50" Height="50" Panel.ZIndex="0" />
</Grid>

答案 1 :(得分:0)

使用

<UserControl Panel.ZIndex="100" />

在我的UserControl上,解决了我的问题。

答案 2 :(得分:0)

有不同的方法可以实现您的目标。一种方法是在其上设置Panel.ZIndex attached property

<local:AdvertisementsFullScreen Panel.ZIndex="10" />

另一种方法是将其声明在XAML页面上的其他控件下面:

<local:AdvertisementsFullScreen /> 
<local:AdvertisementsFullScreen /> <!-- This one is on top -->

第三种,也许更合适的方法是使用Adorner ClassAdorner Layer是正常图层上方的可视图层,其中显示了UI元素。虽然它通常不用于显示整个UserControl,但 是可能的。有关详细信息,请参阅Stack Overflow上WPF adorner with controls inside问题的答案。