Лучший способ зарегистрировать событие в WPF - PullRequest
0 голосов
/ 17 апреля 2010

Что является лучшим способом для зарегистрированного события, например, если я хочу зарегистрировать событие Loaded для окна или пользовательского элемента управления, тогда лучше зарегистрироваться в файле xaml или в функции загруженного / initilization в коде позади (C # / VB.net)? Пожалуйста, дайте объяснение вашего ответа.

1 Ответ

2 голосов
/ 17 апреля 2010

Регистрация обработчика события для события Loaded, когда оно выполняется в XAML, выполняется сгенерированным частичным классом во время вызова InitializeComponent() в коде вашего конструктора.

С этим объяснил:

В XAML: Вы сразу видите, что есть обработчик события Loaded, когда вы смотрите на XAML. Это не «спрятано» в коде где-то. Кроме того, с MVVM у вас часто нет / ничтожно малое выделение кода. Таким образом, вы можете изменить свой элемент управления на DataTemplate, который автоматически подключает ViewModel как DataContext.

В коде: У вас может быть несколько сложное выражение, которое трудно / невозможно выразить в XAML. Например, вы можете получить обработчик из контейнера или фабрики. Тогда вы можете подключить событие в коде позади.

В общем, если у вас нет особых причин, я бы выбрал XAML-маршрут.

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