我正在尝试绑定到这样的自定义控件:
<my:GanttChartTaskListView Name="ganttChartTaskListView1" ItemsSource="{Binding Source={x:Static local:TaskCollection.taskList}}" />
在我的WPF窗口构造函数中,我添加了一个项目到我的taskList,当它加载时我可以在我的自定义控件中看到该项目,但是,当我随后添加它没有更新的项目时。我尝试设置Mode = TwoWay,然后它说“路径”是必需的,我不熟悉这样的绑定(这对我来说是新的)。
这是我的TaskCollection类:
namespace ProjectManager
{
public static class TaskCollection
{
private static List<TaskItem> _taskList = new List<TaskItem>();
public static List<TaskItem> taskList
{
get {return _taskList; }
set { _taskList = value; }
}
}
}
有什么想法吗?是否有更好/更简单的方法来做到这一点?
答案 0 :(得分:5)
必须告知WPF系统已将项目添加到列表中。
最简单的方法是绑定到System.Collections.ObservableCollection<TaskItem>
,而不是List<TaskItem>
,这会在集合发生变化时发出通知。