我正在構建一個基於WPF的應用程序。我正在使用Unity在我的應用程序中注入所有不同的依賴項(在App.xaml.cs中定義)。 在我的MainApplication窗口中,我有一個從Control派生出來的非常複雜的無看起來的自定義控件(集成了約10個控件)。 我想注入一個虛擬機到這個自定義控件,而無需將其耦合到我的應用程序中的任何其他對象(當然除了App.xaml.cs)使用Unity將注入VM到WPF中的自定義控件
注入到我的應用程序中的任何WPF窗口運行良好,但是當我嘗試注入到我面臨的不同情況的自定義控件: 1.如果我使用的是 container.RegisterInstance(container.Resolve);
DI創建MyCustomControl的虛擬實例並注入VM(使用[Dependency]屬性)。
在這種情況下,它初始化一個新的MyCustomControl忽略任何依賴關係:然而,當我在XAML中使用它這個具體的實例沒有使用。
- 如果我正在使用 container.RegisterType();
MyCustomControl完全忽略注入。
我意識到我可能做錯了事(不只是技術上),我真的試圖避免耦合這種控制(這顯然會解決問題)。