在XAML中使用ObservableCollection的无参数构造函数

本文关键字:参数 构造函数 ObservableCollection XAML | 更新日期: 2023-09-27 18:17:40

我已经编辑了这个问题。谢谢你的评论。

看起来我的问题是使用无参数构造函数在XAML中声明类。然而,我似乎无法弄清楚如何获得一个无参数的构造函数与一个可观察的集合。请看下面我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace LinkKing.Classes
{
    [Serializable()]
    public class TheLinks
    {
        public string linkID;
        public string parentID;
        public string link;
        public DateTime dateAdded;
        public int stepAdded;
        public string img;
        [System.Xml.Serialization.XmlElement("Link")]
        public string Link
        {
            get { return link; }
            set { link = value; }
        }
        [System.Xml.Serialization.XmlElement("DateAdded")]
        public DateTime DateAdded
        {
            get { return dateAdded; }
            set { dateAdded = value; }
        }
        [System.Xml.Serialization.XmlElement("StepAdded")]
        public int StepAdded
        {
            get { return stepAdded; }
            set { stepAdded = value; }
        }
        [System.Xml.Serialization.XmlElement("LinkID")]
        public string LinkID
        {
            get { return linkID; }
            set { linkID = value; }
        }
        [System.Xml.Serialization.XmlElement("ParentID")]
        public string ParentID
        {
            get { return parentID; }
            set { parentID = value; }
        }
        [System.Xml.Serialization.XmlElement("IMG")]
        public string IMG
        {
            get { return img; }
            set { img = value; }
        }
        public TheLinks(string linkID, string parentID, string link, DateTime dateAdded, int stepAdded, string img) : base()
        {
            this.Link = link;
            this.DateAdded = dateAdded;
            this.StepAdded = stepAdded;
            this.LinkID = linkID;
            this.ParentID = parentID;
            this.IMG = img;
        }
    }
    public class MyLinks : ObservableCollection<TheLinks>
    {
        public MyLinks() : base()
        {
        }
    }
}

我得到的错误是The Type does not include any accessible constructors

感谢大家的帮助。

在XAML中使用ObservableCollection的无参数构造函数

根据代码,您没有MyLinks的公共无参数构造函数。如果你有,你会在本地找到它。

也通常,如果它是MVVM,我认为有一个不同的名称空间的ViewModel会更好。

也许让你的字段(即public string linkID;public string parentID;public string img;)私有也有意义,因为你无论如何都不会从类外访问它们。