是否可以通过引用设置数据源?
public partial class GraphView : UserControl
{
public ObservableCollection<ChartCollection<long>> signals { get; set; }
public GraphView()
{
UCGraph.DataSource = this.signals;
}
}
如果我设置信号属性应该更新数据源?
MyGraphUC.signals = mySignals;
它似乎对我不起作用。为什么呢?
答案 0 :(得分:1)
不,你不能直接,因为变量UCDataGraph.DataSource
和signals
没有任何关联。在构造函数中分配它们之后,它们碰巧指向同一个实例(实际上它们都指向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()
使用可观察的集合并使用元素重新填充它,而不是更改集合本身(如果这对您来说是可行的方案)。