WPF绑定数据源通过引用更新

时间:2015-08-14 13:27:21

标签: wpf data-binding

是否可以通过引用设置数据源?

public partial class GraphView : UserControl
{
    public ObservableCollection<ChartCollection<long>> signals { get; set; }

    public GraphView()
    {
       UCGraph.DataSource = this.signals;
    }
 }

如果我设置信号属性应该更新数据源?

MyGraphUC.signals = mySignals;

它似乎对我不起作用。为什么呢?

1 个答案:

答案 0 :(得分:1)

不,你不能直接,因为变量UCDataGraph.DataSourcesignals没有任何关联。在构造函数中分配它们之后,它们碰巧指向同一个实例(实际上它们都指向null,它根本不是一个实例)。话虽这么说,你可以利用设置器来做出这样的出价:

public partial class GraphView : UserControl
{
    private ObservableCollection<ChartCollection<long>> _signals 
    public ObservableCollection<ChartCollection<long>> signals 
    { 
        get
        {
            return _signals;
        }

        set
        {
            this._signals = value;
            UCGraph.DataSource = this._signals;
        }

    }

    public GraphView()
    {
       UCGraph.DataSource = this.signals;
    }
 }

或者,您可以.Clear()使用可观察的集合并使用元素重新填充它,而不是更改集合本身(如果这对您来说是可行的方案)。