在我的應用程序中,我使用了多個具有相同視圖 - 視圖模型對的窗口。我也使用統一容器。如何使用統一容器區分多個視圖/視圖模型對
我最近通過Grant Frisken(代碼項目)添加了一個翻譯模塊,WPF使用RESX文件進行本地化。現在,如果我改變語言,viewmodel的構造函數會再次執行,並且不存儲變量。該視圖仍然將其datacontext設置爲該視圖模型的某個實例,但所有視圖都使用相同的視圖模型。
目前我認爲我使用了錯誤的方法,但是更好的解決方案是什麼?
打開一個新的窗口:
var openWindow = new MyView();
openWindow.Show();
在我的XAML:
DataContext="{Binding MyViewModel, Source={StaticResource Locator}}"
在我的視圖模型
private IMyWindowData _data;
[InjectionConstructor]
protected SettingsBaseViewModel(IMyWindowData data)
{
_data = windows;
}
這一切,直到我實現了新的語言模塊正常工作。當我選擇更改語言時,變量_data消失。然後注入構造函數具有其他窗口的數據也是同一類型的。
我拼命搜查互聯網,但沒有找到答案。