[英]Inject object created in code-behind to ViewModel
我使用Bing Map創建應用,然后在XAML文件中創建該地圖的實例,如下所示:
<maps:Map x:Name="MyMap"/>
為了“使用”它,我需要將Map的這個實例傳遞給另一個項目(PCL)中的viewModel。 我有
我假設地圖是在this.InitializeComponent()
中創建的。
public MainPage()
{
this.InitializeComponent();
}
這也是觸發我的DI的地方:
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<MainViewModel>();
SimpleIoc.Default.Register<IMap, MyBingMap>();
}
MyBingMap
是我希望傳遞給VM的IMAP的實現。 但是在我這樣做之前,我需要它具有在代碼背后創建的Map實例。
我希望我的問題對某人足夠清楚。 我對所有可以將myMap
傳遞給VM的建議myMap
開放myMap
。 謝謝!
地圖本身有一個Loaded事件,您可以在載入地圖后使用它來獲取地圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.