我使用ViewModel的LinkCollection属性进行绑定,LinkCollection在ViewModel的构造函数中填充:
public SurveySelectionViewModel()
{
foreach (var year in Surveys().Select(x => x.year.ToString()).Distinct())
{
this.Years.Add(new Link { DisplayName = year, Source = new Uri("http://www.stackoverflow.com") });
}
}
当我的ListCollection"年"时,视图中会显示年份。定义如下:
private LinkCollection years = new LinkCollection();
public LinkCollection Years
{
get { return this.years; }
set
{
if (this.years != value)
{
this.years = value;
}
}
}
为什么这些年没有显示我将上述内容减少到:
public LinkCollection Years = new LinkCollection();
LinkCollection仍然充满了岁月......但它们没有显示出来。
答案 0 :(得分:1)
因为public LinkCollection Years = new LinkCollection();
将Years
定义为字段,而不是属性,并且您无法绑定到WPF中的字段。
你能做的是:
public LinkCollection Years { get; private set; }
然后在构造函数中设置Years
:
Years = new LinkCollection();