2011-02-25 80 views
1

我正在創建一個silverlight用戶控件,該控件將顯示透明覆蓋圖,其中包含任何包含xaml的文本,如果屬性設置爲true。例如:創建Silverlight覆蓋用戶控件

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

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

</my:Overlay> 

我不太確定的是如何實現將任意xaml放入我的用戶控件中的能力,如上所述。

感謝您的任何幫助。

回答

3

OverlayControlContentControl繼承。你的模板看起來像這樣:

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

這應該工作

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

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

</Grid> 

您也可以derrive你過於自ContentControl控制,並把內容和覆蓋層網格像上面顯示