【问题标题】:WPF Binding not updating when binded object is updated更新绑定对象时WPF绑定不更新
【发布时间】:2010-05-19 17:23:31
【问题描述】:

我正在尝试像这样绑定到自定义控件:

<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; }
        }
    }
}

有什么想法吗?有没有更好/更简单的方法来做到这一点?

【问题讨论】:

    标签: c# wpf data-binding


    【解决方案1】:

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

    最简单的方法是绑定到System.Collections.ObservableCollection&lt;TaskItem&gt;,而不是List&lt;TaskItem&gt;,这将在集合更改时发出通知。

    【讨论】:

    • 谢谢,你是人间的神
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    相关资源
    最近更新 更多