Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 为什么可以';我不能在内容页中注入依赖性吗?_Xaml_Xamarin.forms_Ioc Container_Tinyioc - Fatal编程技术网

Xaml 为什么可以';我不能在内容页中注入依赖性吗?

Xaml 为什么可以';我不能在内容页中注入依赖性吗?,xaml,xamarin.forms,ioc-container,tinyioc,Xaml,Xamarin.forms,Ioc Container,Tinyioc,请参阅下面的代码: public partial class MyContentPage : ContentPage { public CreditCardView() { InitializeComponent(); } } 它按预期工作。现在我想注入一种依赖性: public partial class MyContentPage : ContentPage { private rea

请参阅下面的代码:

public partial class MyContentPage : ContentPage
    {

        public CreditCardView()
        {
            InitializeComponent();
        }
}
它按预期工作。现在我想注入一种依赖性:

public partial class MyContentPage : ContentPage
    {
        private readonly IMyService _myService;

        public CreditCardView(IMyService myService)
        {
            InitializeComponent();
            _myService=myService;
        }
}

在代码的第二段摘录中,我看到了一个编译错误:“给定的键在字典中不存在”。有什么问题?我已注册依赖性。

XAML页面需要默认值constructor@Jason谢谢不可能使用参数化构造函数(带有默认构造函数)吗?在C#中,默认构造函数是无参数的。将您的服务注入到您的VM中,而不是直接注入到页面中可能更有意义。这样可以避免这个问题,我同意杰森的看法。如果出于某种原因,您仍然希望访问视图中的服务,那么您可能需要使用Xamarin.Forms。更干净的方法是使用MVVM并将服务注入到ViewModel中