Создание пользовательского элемента управления Silverlight Overlay - PullRequest
1 голос
/ 26 февраля 2011

Я создаю пользовательский элемент управления silverlight, который будет отображать прозрачное наложение с текстом над любым содержимым xaml, если для свойства установлено значение true. Так, например:

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

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

</my:Overlay>

В чем я не совсем уверен, так это в том, как реализовать возможность помещать произвольный xaml в мой пользовательский элемент управления, как описано выше.

Спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 26 февраля 2011

Наследуй свой OverlayControl от ContentControl. Ваш шаблон будет выглядеть примерно так:

<Grid>
    <Grid x:Name="Overlay" Background="#30000000">
        <ContentPresenter Content="{TemplateBinding Content}"/>
    </Grid>
    <TextBlock Text="{TemplateBinding Message}"/>
</Grid>
1 голос
/ 26 февраля 2011

Это должно работать

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

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

</Grid>

Кроме того, вы можете получить чрезмерный контроль из ContentControl и поместить контент и слой OverLay в сетку, как показано выше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...