Должны ли UserControls иметь InitializeComponent в своем конструкторе? - PullRequest
2 голосов
/ 22 декабря 2010

В WPF я должен включить InitializeComponent() в конструктор пользовательских элементов управления?

Ответы [ 2 ]

4 голосов
/ 22 декабря 2010

InitializeComponent привязывает дочерние элементы управления, определенные в XAML (с атрибутом x:Name), к полям, определенным в классе. Итак, вы должны иметь InitializeComponent в классе, который использует XAML для определения. Вы не можете сделать это в базовом классе, потому что он не знает этих полей. (Кроме того, InitializeComponent анализирует XAML и создает визуальные элементы, но это пока не важно).

Это означает, что если ваш элемент управления определен с помощью XAML, у вас должен быть InitializeComponent. Если вы не используете XAML (а просто переопределяете что-то в конструкторе или добавляете некоторые свойства / функции), вам не нужен InitializeComponent.

0 голосов
/ 22 декабря 2010

Да, когда вызывается этот метод, XAML для вашего элемента управления анализируется и создаются различные элементы.

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