Почему DataContext в загруженном событии имеет значение null?C#

Место общения программистов C#
Гость
Почему DataContext в загруженном событии имеет значение null?

Сообщение Гость »


Я использую Activator.Createinstance для создания объекта. Есть два сценария, в которых я создаю объект. Один, когда объект создается в состоянии по умолчанию, не заботясь о функциональности. Во-вторых, когда у него есть некоторые свойства/данные для загрузки, которые я читаю из XML-файла. Я читаю XML-файл и создаю определенный объект на основе содержимого этого файла, а затем вызываю метод этого объекта для загрузки свойств. Проблема возникает при загрузке пользовательского элемента управления: в большинстве случаев контекст данных имеет значение null, но не всегда. Этого не происходит, когда я создаю объект без данных для загрузки.

Следующий код инициализирует объект:

Тип гаджета = Type.GetType(ObName); IControl ctrl = (IControl)Activator.CreateInstance(gadgetType); Этот код выполняется в обоих сценариях. Единственный дополнительный код, который выполняется во втором случае, следующий.

ctrl.CreateFromXml(item);//item — это xelement а в Control загруженное событие выглядит следующим образом.
void Control_Loaded(отправитель объекта, RoutedEventArgs e) { ControlViewModel cvm = (ControlViewModel)this.DataContext; //Контекст данных имеет значение null }

Вернуться в «C#»