我有一個使用Caliburn.Micro 2.0.1的wpf應用程序,我發現了Caliburn.Micro的奇怪行爲。在最新的3.0.3中也存在。查看不顯示單身ViewModel
超級簡單的項目重現錯誤:https://github.com/ihtfw/CaliburnMicroBug
MainWindowViewModel是導體的屏幕。 有兩個ScreenViewModel作爲具有屬性SingletonViewModel的MainWindowViewModel的項目。 在MainViewModel中,我可以切換到第一個ScreenViewModel或第二個。
除了在切換到第二個屏幕後僅在第二個ScreenViewModel上顯示SingletonViewModel的視圖之外,一切都很完美。
重現:
- 開始應用
- 切換到第二個屏幕
- 切換回第一個畫面
- 信息查看SingletonViewModel沒有顯示=(
如何解決這個?
更新
使用ContentControl無法做到這些。應該使用明確的視圖。在這種情況下SingletonView並設置它的DataContext。連接Caliburn.Micro動作綁定他們沒有上下文。所以結果將是:
<local:SingletonView DataContext={Binding Path=SingletonViewModel} cal:Action.TargetWithoutContext="{Binding}" />
是它的工作,但SingletonViewModel應該是單身!並且在你改變之後它不是。 – ihtfw