【问题标题】:How Do I Use Constructor Injection In Xamarin Forms如何在 Xamarin 表单中使用构造函数注入
【发布时间】:2021-03-10 22:46:36
【问题描述】:

我将 MVVM 模式与 Xamarin Forms 一起使用。 我有我的 MainPage 和 MainPageViewModel。 我的 MainPageViewModel 有一个接受 IMyClass 参数的构造函数。

public AboutViewModel(IMyClass mClass)
{
   .....

如果我使用 MainPage.xaml.cs 后面的代码并执行类似的操作

  IMyClass myclass = new MyClass();
  BindingContext = new AboutViewModel(myClass);

这是正确的方法吗?我应该如何注册 IMyClass 以便让应用在需要时创建实例?

【问题讨论】:

标签: c# xamarin.forms


【解决方案1】:

选项 1,您可以使用 TinyIoC。 方案二,你可以试试 Xamarin 中集成的 DependencyService。

您可以尝试以下示例代码: 应用程序.xaml.cs

...
public App()
{
   InitializeComponent();
   DependencyService.Register<MyClass>();
   ...
}
...

您的 Page.xaml.cs

 BindingContext = new ViewModel();

你的 ViewModel.cs

public class ViewModel : INotifyPropertyChanged
   ...

   IMyClass _myClass;
...
   public ViewModel()
   {
      _myClass = DependencyService.Get<IMyClass>();
      ...
   } 
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-27
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2016-11-26
    • 2011-05-11
    相关资源
    最近更新 更多