Я пытаюсь установить DataContext в ApplicationMainWindow, который является окном WPF. Когда я настраиваю его в XML как, он оставляет DataContext пустым:
<!-- View Models -->
<component
id="mainwindow.viewmodel"
type="ProjectTracking.ApplicationMainViewModel, ProjectTracking"
inspectionBehavior="none" lifestyle="transient">
</component>
<!-- UI Components -->
<component
id="mainwindow.view"
type="ProjectTracking.ApplicationMainWindow, ProjectTracking"
inspectionBehavior="none" lifestyle="transient">
<parameters>
<DataContext>${mainwindow.viewmodel}</DataContext>
</parameters>
</component>
Но если я делаю это таким образом через C #, это работает.
_Kernel.Register(
...
Component.For<ApplicationMainWindow>()
.DynamicParameters( (k,d) => {
d["DataContext"] = k[typeof(ApplicationMainViewModel)];
})
);
Я создаю экземпляр моего окна так:
Window window = _Kernel[typeof(ApplicationMainWindow)] as Window;
Когда я настраиваю windsor через конфигурацию xml, он оставляет мой DataContext NULL, но когда я настраиваю его через код, он работает как шарм.
Нужно ли мне использовать код для этого или он должен работать через XML-конфигурацию?
Спасибо,
Raul