У меня есть проблема с свойствами, заданными в xaml.
Я сделал пользовательский контроль с зависимым свойством «MidiChanel».
Я установил значение этого свойства равным 10 в xaml. В конструкторе пользовательского элемента управления мне нужно это значение, чтобы добавить его в словарь и передать значение дочернему классу моего пользовательского элемента управления.Свойства wpf не заданы после initializecomponent
Проблема в том, что в конструкторе даже после вызова initializecomponents свойство stil имеет значение по умолчанию, а не значение, заданное в xaml. Фактически, он не устанавливается вообще.
Если я изменил свойство «MidiChanel» на нормальное свойство, значение будет установлено, но это не initializecomponents userControl, который устанавливает значение, а initializecomponents главного окна. Call stack = Main.InitializeComponents, конструктор userControl (значения пока недоступны), Setter 'MidiChanel' устанавливается. (кто ?, стек вызовов говорит Main.InitializeComponents).
Я разработчик winforms и считаю все это довольно странным. После Main.InitializeComponents я мог бы перебрать все пользовательские элементы управления на главной странице и сделать все здесь, но это кажется странным делом.
Любые предложения здесь?
Это нормально, чтобы делать такие вещи, когда свойство установлено, но я хочу сделать что-то, когда все его свойства были установлены. (Что вы ожидали бы после того, как были вызваны функции initializecomponents.) – user2329274
Возможно, вам стоит подумать о том, чтобы сделать это в событии Loaded – user1064519
Это действительно то, что я сделал. На странице. Загруженное событие, я перебираю элементы управления и делаю все здесь. Работает нормально, но с точки зрения разработчика winforms это кажется странным. Спасибо за все входные данные. – user2329274