Xamarin.Forms Prism 中的平台特定代码
Platform specific code in Xamarin.Forms Prism
我有一个自定义控件,我需要在其中使用特定于平台的代码。我在每个平台上的 IPlatformInitializer
s 中注册了特定于平台的实现。而且我能够通过 IUnityContainer
解析实例。但是我没有在我的自定义控件中引用统一容器。框架开发人员在我的自定义控件中解析注册实例的设计方法是什么?我在 XAML
.
中创建我的控件
使用Xamarin.Forms
的方法我可以做到:
DependencyService.Get<ISomeManager>();
来自应用程序的任何位置。
提前致谢。
您需要实施服务定位器模式才能访问自定义控件中的容器。您可以将 Application.Current 转换为 PrismApplication 并使用其中的 Container 属性,或者为容器公开一个新的静态 属性。
我有一个自定义控件,我需要在其中使用特定于平台的代码。我在每个平台上的 IPlatformInitializer
s 中注册了特定于平台的实现。而且我能够通过 IUnityContainer
解析实例。但是我没有在我的自定义控件中引用统一容器。框架开发人员在我的自定义控件中解析注册实例的设计方法是什么?我在 XAML
.
使用Xamarin.Forms
的方法我可以做到:
DependencyService.Get<ISomeManager>();
来自应用程序的任何位置。
提前致谢。
您需要实施服务定位器模式才能访问自定义控件中的容器。您可以将 Application.Current 转换为 PrismApplication 并使用其中的 Container 属性,或者为容器公开一个新的静态 属性。