Студия генерит метод void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target), в котором привязывает объект к полю класса и прицепляет обработчики событий.
Непонятно — зачем это нужно? Например, есть кнопка с именем button1 и событием onClick. Загружалка balm\xalm имеет ссылку на корневой элемент и при создании кнопки button1 может определить наличие поля с именем button1, наличие метода button1_onClick и самостоятельно связать их с созданной кнопкой. Почему вместо этого она дергает Connect?
И вдогонку — зачем вообще нужен BAML?
Студия все равно генерит .g.cs файл с вызовом загрузчика и методом connect. Почему вообще не отказаться от baml, и сразу генерить по xaml c# код создания элементов UI?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Здравствуйте, MxMsk, Вы писали:
MM>Точного ответа у меня нет. Возможно это сделано с целью того, что XAML становится ресурсом, который можно подменять без перекомпиляции.
Бинго!
MM>И потом, WPF поддерживает динамическую подгрузку XAML просто из строки. Если такой механизм уже есть, почему бы им не воспользоваться и в InitializeComponent.
Мааленькое волшебное слово "производительность"
Как всегда, тынц:
http://stackoverflow.com/questions/1423728/why-xaml-is-compiled-into-baml-and-not-in-c