MSDN говорит о настройках событий:
Настройщики событий не могут использоваться в стиле, который содержится в словаре ресурсов темы. Это связано с тем, что словарь ресурса темы во время выполнения часто является свободным двоичным файлом XAML (BAML) и не имеет какой-либо области определения, где может существовать сопроводительный код, который определяет, что обработчики могут существовать.
Это подтверждается первым ответом на этот вопрос SO, который гласит:
ресурс xaml не может иметь код за файлом, его обычно называют "свободным xaml". Вы можете прочитать об этом в msdn о EventSetter.
Тем не менее, я пока не понимаю ограничений для разработчиков событий. Я попытался использовать файл с кодом для словаря ресурсов. Я назначил обработчик события для события элемента управления, содержащегося в шаблоне, определенном в стиле в указанном словаре ресурсов, - и он сработал.
Добавление объекта события в стиль в том же словаре ресурсов, с другой стороны, приводит к исключению.
Я попал в специальный случай, когда он работает?
Или настройка обработчика событий в шаблоне всегда работает, но если да, то почему я не могу использовать установщик событий в стиле в том же словаре ресурсов?
Мой вопрос сводится к:
Что именно подразумевается под выражением MSDN, что словарь ресурса темы часто является свободным двоичным XAML - как часто, при каких обстоятельствах точно?