亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何實例化 Prism 中的所有視圖

如何實例化 Prism 中的所有視圖

C#
30秒到達戰場 2022-01-15 17:17:42
貝婁你可以看到我的引導程序。我想從引導程序注冊所有視圖。當我啟動應用程序時,會創建 WebView 和 EditView。GeneralView 是 EditView 的一部分,我必須先導航到 EditView 才能實例化它。啟動可執行文件時如何實例化所有視圖?class Bootstrapper : UnityBootstrapper{  protected override DependencyObject CreateShell()  {    // Register views    IRegionManager regionManager = this.Container.Resolve<IRegionManager>();    regionManager.RegisterViewWithRegion("ContentRegion", typeof(WebView));    regionManager.RegisterViewWithRegion("ContentRegion", typeof(EditView));    // The following view is instantiated for the first time when I navigate to EditView    regionManager.RegisterViewWithRegion("GeneralRegion", typeof(GeneralView));    return Container.Resolve<MainWindow>();  }  protected override void InitializeShell()  {    Application.Current.MainWindow.Show();  }  protected override void InitializeModules()  {    base.InitializeModules();  }}
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

在實際顯示在屏幕上之前,不應實例化視圖。此外,視圖應該只定義用戶界面。

如果您在使用來自另一個視圖模型的事件聚合器發送事件時希望特定視圖模型處于活動狀態,那么您實際上是在這兩個視圖模型之間引入了間接耦合。這正是您首先要通過使用事件聚合器來避免的。

因此,如果您依賴所有正在處理的事件,您可能應該考慮使用在引導程序中作為單例實例化的共享服務。然后,您可以使用此共享服務注入您的視圖模型,并通過服務接口在它們之間進行通信。


查看完整回答
反對 回復 2022-01-15
  • 1 回答
  • 0 關注
  • 210 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號