OnApplyTemplate () не вызывается, материал в свойстве Template также не отображается - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть следующий класс:

namespace Controls
{
    public class DropDownButton : Control
    {
        public DropDownButton()
        {
            this.DefaultStyleKey = typeof(DropDownButton);
        }

        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
        }
    }
}

И в XAML:

<Style TargetType="Controls:DropDownButton">
    <Setter Property="FontSize" Value="10"/>
    <Setter Property="Height" Value="202"/>
    <Setter Property="Foreground" Value="White"/>
    <Setter Property="VerticalAlignment" Value="Center"/>

    <Setter Property="Template">
        <Setter.Value>
            <Button Content="Button1">
                <Button.Template>
                    <ControlTemplate TargetType="Button">
                    </ControlTemplate>
                </Button.Template>
            </Button>
        </Setter.Value>
    </Setter>
    <Setter Property="MinWidth" Value="65"/>
</Style>

У меня есть две проблемы (возможно, связанные): Кнопка в xaml не отображается вэлемент управления и элемент управления вообще не вызывают функцию OnApplyTemplate ().Кажется, единственное, на что реагирует элемент управления - это установка его размеров ...

1 Ответ

2 голосов
/ 02 ноября 2011

В Template отсутствует элемент ControlTemplate:

<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate> <!-- This -->
            <Button Content="Button1">
                <!-- ... -->
            </Button>
        </ControlTemplate>
    </Setter.Value>
</Setter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...