我有一些可重用的UserControls,在那些UserControls內我想訪問一些服務實例,這些實例是我在bootstrapper中註冊的。棱鏡WPF - 如何訪問UserControls或自定義控件中的ServiceLocator
我不能做構造函數注入,因爲這些用戶控件直接在xaml中使用,所以我試圖訪問ServiceLocator.Current
,但它拋出異常。
那麼訪問用戶控件中的註冊服務實例的最佳做法是什麼?您不能執行構造函數注入,因爲WPF需要無參數構造函數在xaml中加載它們。
(順便說一句,我使用UnityBootstrapper)
「的用戶控件內」是指在代碼隱藏?什麼阻止你使用(自動連線)視圖模型(它具有在ist構造函數中注入的所有內容)? – Haukinger
你的用戶控件位於哪裏?在shell窗口中? – mm8
@Haukinger,「使用自動連線的視圖模型並使用構造函數注入」是我的後備理念。這意味着如果我找不到其他解決方案,我會這樣。我想知道所有棱鏡人員如何做這種工作,最佳做法是什麼。 –