创建Silverlight覆盖用户控件

时间:2011-02-25 21:01:14

标签: c# .net wpf silverlight xaml

我正在创建一个silverlight用户控件,如果属性设置为true,它将显示带有文本的透明叠加层。例如:

<my:Overlay Message="You don't have access to this feature." ShowOverlay="{Binding IsFeatureAvailable}">

<TextBox />
<Button Content="Search" />

</my:Overlay>

我不太确定如何实现将任意xaml放入我的用户控件中的能力,如上所述。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

OverlayControl继承您的ContentControl。您的模板看起来像:

<Grid>
    <Grid x:Name="Overlay" Background="#30000000">
        <ContentPresenter Content="{TemplateBinding Content}"/>
    </Grid>
    <TextBlock Text="{TemplateBinding Message}"/>
</Grid>

答案 1 :(得分:1)

这应该有效

<Grid>
<my:Overlay Message="You don't have access to this feature." ShowOverlay="{Binding IsFeatureAvailable}"/>

<TextBox />
<Button Content="Search" />

</Grid>

此外,您可以通过ContentControl过度控制,并将内容和OverLay图层放在网格中,如上所示