2010-05-19 159 views
0

我试图绑定到,像这样一个自定义的控制:WPF绑定更新不及时时,绑定对象被更新

<my:GanttChartTaskListView Name="ganttChartTaskListView1" ItemsSource="{Binding Source={x:Static local:TaskCollection.taskList}}" /> 

在我的WPF窗口构造我添加的项目添加到我的任务列表,在加载时我可以在我的自定义控件中看到该项目,但是,当我随后添加项目时它不会更新。我尝试设置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; } 
     } 
    } 
} 

任何想法?有没有更好/更简单的方法来做到这一点?

回答

5

必须告诉WPF系统该项目已被添加到列表中。

最简单的方法是绑定到System.Collections.ObservableCollection<TaskItem>而不是List<TaskItem>,这将在集合更改时引发通知。

+1

谢谢你,你是男人中的上帝 – 2010-05-19 17:32:16