UWP CalendarDatePicker Вызов GetTemplateChild - PullRequest
0 голосов
/ 18 апреля 2020

Следующий класс расширяет UWP CalendarDatePicker ...

public class MyDatePicker : CalendarDatePicker
{
    protected override void OnApplyTemplate()
    {
        _backgroundBorder = base.GetTemplateChild("Background") as Border;

        base.OnApplyTemplate();
    }
}

Что делает вызов GetTemplateChild("Background")? Он явно возвращает тип Border (этот код взят из репозитория Microsoft Github), но что такое Background? И где определены эти строки волхвов c?

Например, если бы я должен был расширить TimePicker таким же образом, какие элементы мне доступны с помощью вызова GetTemplateChild для класса, который расширяет TimePicker? И как вы это выясните?

Я ценю любые указатели.

1 Ответ

1 голос
/ 19 апреля 2020

Как правило, пользовательский интерфейс элемента управления должен динамически создаваться во время выполнения путем применения ControlTemplate , который предварительно определен в стиле. «TemplateChild» - это элемент XAML *, используемый в шаблоне ControlTemplate. Определенный TemplateChild имеет жестко запрограммированное x: Name (= magi c string). Вызвав GetTemplateChild () с параметром имени, вы можете получить доступ к элементу.

Стиль по умолчанию для применения к встроенному элементу управления можно найти в generi c .xaml * 1006. *. Изучив ControlTemplate в стиле для соответствующего элемента управления, вы найдете все имена, которые вы можете указать в вызовах GetTemplateChild.

* XAML-Element: UIElement (или другие элементы, такие как Bru sh, Transform, Раскадровка и др. c.)

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