第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 Core 項(xiàng)目和具有更改頁(yè)面的 WPF 應(yīng)用程序之間使用依賴注入?

如何在 Core 項(xiàng)目和具有更改頁(yè)面的 WPF 應(yīng)用程序之間使用依賴注入?

C#
泛舟湖上清波郎朗 2021-07-02 14:01:38
我正在WPF使用MVVM框架構(gòu)建一個(gè)程序,以及Ninjectfor Dependancy Injection. 我創(chuàng)建了兩個(gè)項(xiàng)目,一個(gè).Net Class Library用于其他.Net應(yīng)用程序的核心項(xiàng)目和一個(gè)WPF特定的應(yīng)用程序。目前,我正在使用ApplicationViewModel帶有Property CurrentPage. CurrentPage是一種Enum稱為ApplicationPage包含我的應(yīng)用程序中不同頁(yè)面的類型。在我的WPF應(yīng)用程序的主窗口是一個(gè)框架,其Content是bound到CurrentPage Property并使用值轉(zhuǎn)換器值轉(zhuǎn)換為不同的CustomPages我已經(jīng)使用switchstatment,就像這樣:if (value is ApplicationPage)    switch ((ApplicationPage)value)    {        case ApplicationPage.PageOne:            return new PageOne();        case ApplicationPage.PageTwo:            return new PageTwo();        default:            throw Exception;    }}我想使用Constructor Injection將View Models這些頁(yè)面的傳遞到Page's Constructor中Converter,使用ViewModels它依次Injected進(jìn)入ApplicationViewModel類,有點(diǎn)像這樣:case ApplicationPage.PageOne:    return new PageOne(PageOneViewModel);我首先想到的是,有沒有作出一些方式CurrentPage Property實(shí)際上是一個(gè)特定的ViewModel和執(zhí)行switch上ViewModel,因此Converter將一ViewModel到Page?然而Type ofCurrentPage是一個(gè)問題,因?yàn)樗仨氃O(shè)置為其中之一ViewModels,因此不能采用不同的值ViewModel,讓您只能使用一個(gè)ViewModel Class。我的想法是:有沒有辦法傳遞ViewModel給Converter?或者我可以設(shè)置CurrentPage為IViewModelFactory并ViewModel在工廠的轉(zhuǎn)換器內(nèi)創(chuàng)建嗎?在這種情況下,我將如何更改 的值CurrentPage以更改應(yīng)用程序中的頁(yè)面?有沒有辦法Dependency Injection在遵循這個(gè)邏輯的同時(shí)堅(jiān)持下去,或者有另一種方法,我是否需要重新考慮我的頁(yè)面更改代碼?不幸的是,我見過的大多數(shù)例子都陷入了所謂的ServiceLocator反模式。
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)