1
我正在使用PRISM爲iOS設計示例Xamarin.Forms應用程序。Xamarin的棱鏡,INavigationService的依賴失敗
但是,當我試圖在視圖模型使用INavigationService,它失敗說依賴失敗接口INavigationService
我不知道自己做錯了什麼,我做什麼,我們如何才能避開它還是在INavigationServices注入的錯誤。
感謝 Divikiran Ravela
繼承人的代碼
public App()
{
// The root page of your application
Prism = new PrismBootStrap();
Prism.Run(this);
}
public class PrismBootStrap : UnityBootstrapper
{
protected override Page CreateMainPage()
{
return new NavigationPage(Container.Resolve<HomePage>());
}
protected override void RegisterTypes()
{
Container.RegisterTypeForNavigation<HomePage, HomePageViewModel>();
}
}
public class HomePage : ContentPage
{
public HomePageViewModel ViewModel { get; set; }
public HomePage()
{
ViewModel = App.Prism.Container.Resolve<HomePageViewModel>();
Content = new StackLayout
{
Children = {
new Label { Text = "Hello ContentPage" }
}
};
}
}
public class HomePageViewModel : BindableBase
{
private readonly INavigationService _navigationService;
public HomePageViewModel(INavigationService navigationService)
{
_navigationService = navigationService; //Fails here
}
}
感謝您輸入大腦,感謝它。嗨,我沒有使用XAML頁面將AutowireViewModel與其他命名空間一起設置爲true。我正在使用contentpage.cs,我在頁面ctor上嘗試了SetValue(ViewModelLocator.AutowireViewModel,true)。但我仍然有同樣的問題。你可以請指導我一些示例代碼。 – Div
您需要使用ViewModelLocator.SetAutowireViewModel,因爲它是一個附加屬性。 –
我試過 // SetValue(ViewModelLocator.AutowireViewModelProperty,true); ViewModelLocator.SetAutowireViewModel(this,true); 還沒有工作,請讓我知道我在做什麼錯了 – Div