Почему 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 }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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