1
控件:TabControlView是一個可重用組件。我需要能夠創建一個ViewModel /爲每個組件使用檢索它的實例。Caliburn.Micro將已解析的ViewModel實例從父項分配給子項
<UserControl x:Class="App.Views.Shell.ShellView" ...>
<StackPanel Orientation="Vertical">
<controls:TabControlView cal:Bind.Model="{Binding TabControlViewModel}"/>
</StackPanel>
</UserControl>
在ShellViewModel構造:
public TabControlViewModel TabControlViewModel { get; set; }
public ShellViewModel(){
TabControlViewModel = new TabControlViewModel();//For simplicity. It is resolved by IoC
}
當我把一個破發點到TabControlViewModel的構造函數中我可以看到,它被稱爲2倍。
當我設置IoC解析TabControlViewModel作爲單例時它工作(因爲解析TabControlViewModel的內部調用服務於同一個實例)。
我該如何編輯我的代碼,以便它不會自動調用BootstrapperBase.GetInstance(),或者如何替換View的ViewModel?