5
我有一個MVVM WP7應用程序,我試圖從一個Page/ViewModel發送一個值到第二個ViewModel的構造函數。我已經有Ninject設置和得到這個到使用符合靜態測試值的工作,如:Ninject:實現WithConstructorArgument(字符串名稱,Func <IContext,對象>回調)
this.Bind<TaskViewModel>().ToSelf().WithConstructorArgument("TaskID", 2690)
再次,與一個靜態值的作品,但我需要的是由用戶選擇的變量。有人告訴我使用過載
WithConstructorArgument(string name, Func<IContext,object> callback).
我會認爲這將回調調用第一視圖模型的功能和獲得的價值。
但我沒有成功,很容易承認我對Ninject或使用Func回調參數都不是很有經驗。我試着設置一個委託和函數來從第一個ViewModel獲取值,但是這給了一個錯誤,說我試圖傳入一個類型。我該如何指定該參數才能使用回調,並且我正確地在第一個ViewModel或其他內容中使用委託?
你確定以這種方式使用依賴注入是個好主意嗎?我的意思是根據用戶輸入解決組件依賴關係? –
這是由我認爲對Ninject非常有知識的人所推薦的,正如我在我的問題中所說的,我不是。如果您有適合MVVM的合適解決方案,我肯定會改變我的方法。 – Walter
@Waltedbn:Remo Gloor是Ninject項目的當前活躍開發人員。他是世界上關於這個話題的最有見識的人。聽他的。 – StriplingWarrior