WPF Зачем нужен метод MyWindow.Connect?
От: enji  
Дата: 30.10.10 20:13
Оценка:
Студия генерит метод void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target), в котором привязывает объект к полю класса и прицепляет обработчики событий.

Непонятно — зачем это нужно? Например, есть кнопка с именем button1 и событием onClick. Загружалка balm\xalm имеет ссылку на корневой элемент и при создании кнопки button1 может определить наличие поля с именем button1, наличие метода button1_onClick и самостоятельно связать их с созданной кнопкой. Почему вместо этого она дергает Connect?
Re: WPF Зачем нужен метод MyWindow.Connect?
От: enji  
Дата: 31.10.10 07:46
Оценка:
И вдогонку — зачем вообще нужен BAML?

Студия все равно генерит .g.cs файл с вызовом загрузчика и методом connect. Почему вообще не отказаться от baml, и сразу генерить по xaml c# код создания элементов UI?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[2]: WPF Зачем нужен метод MyWindow.Connect?
От: MxMsk Португалия  
Дата: 31.10.10 08:29
Оценка: +1
Здравствуйте, enji, Вы писали:

E>И вдогонку — зачем вообще нужен BAML?

E>Студия все равно генерит .g.cs файл с вызовом загрузчика и методом connect. Почему вообще не отказаться от baml, и сразу генерить по xaml c# код создания элементов UI?
Точного ответа у меня нет. Возможно это сделано с целью того, что XAML становится ресурсом, который можно подменять без перекомпиляции. В свою очередь, это может облегчить локализацию, хотя такой способ кажись не райт-вэй. И потом, WPF поддерживает динамическую подгрузку XAML просто из строки. Если такой механизм уже есть, почему бы им не воспользоваться и в InitializeComponent.
Re[3]: WPF Зачем нужен метод MyWindow.Connect?
От: Sinix  
Дата: 31.10.10 09:31
Оценка: 4 (1)
Здравствуйте, MxMsk, Вы писали:

MM>Точного ответа у меня нет. Возможно это сделано с целью того, что XAML становится ресурсом, который можно подменять без перекомпиляции.

Бинго!

MM>И потом, WPF поддерживает динамическую подгрузку XAML просто из строки. Если такой механизм уже есть, почему бы им не воспользоваться и в InitializeComponent.

Мааленькое волшебное слово "производительность"

Как всегда, тынц: http://stackoverflow.com/questions/1423728/why-xaml-is-compiled-into-baml-and-not-in-c
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.