Пожалуйста, научите меня, как правильно использовать ControlTemplate?(кто-нибудь удалите, пожалуйста) - PullRequest
0 голосов
/ 04 февраля 2012

Хорошо, я думаю, что я довольно нуб, используя ControlTemplate lol ...

Все, что я хочу, это шаблонировать каждый свой UserControl, чтобы каждый UserControl имел кнопки Delete, Save, Cancel.

Так что теперь я пишу какой-то тест ...... Попытайтесь сделать границу вокруг всего ...

В App.xaml

<Application.Resources>
    <ControlTemplate x:Key="DeleteSaveCancelTemplate">
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Border BorderThickness="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Black"> 
                <ContentPresenter/>
            </Border>
        </Grid>
    </ControlTemplate>
</Application.Resources>

Затем в UserControl:

<UserControl ...  Height="150" Width="300"  Template="{StaticResource DeleteSaveCancelTemplate}" >

Но все, что я вижу, это просто ... черный ... что я сделал не так?Я думал, что должен использовать ContentPresenter, чтобы показать содержимое?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Итак ... Я нашел проблему lol С этой страницы ControlPresenter по умолчанию не привязывается к Контенту ... Мне нужно написать

   <ContentPresenter Content="{TemplateBinding Property=ContentControl.Content}" />

Если вы не укажете TargetType, он будет привязан по умолчанию.

0 голосов
/ 04 февраля 2012

Для большинства элементов управления вы используете ContentPresenter.ItemsPresenter применяется только к элементам, расширяющим ItemsControl.

...