我编辑了这个问题。感谢下面的评论。
看起来我的问题是使用无参数构造函数来声明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
。
感谢大家的帮助。
答案 0 :(得分:1)
仅基于代码,您没有MyLinks的公共无参数构造函数。如果你这样做,你会在 local 上找到它。
通常,如果它是MVVM,我认为为ViewModel设置不同的命名空间会更好。
也许将您的字段(即public string linkID;public string parentID;
最多public string img;
)设为私有也是有意义的,因为无论如何您都无法从课外访问它们。