双向将"虚拟"字符串列表绑定到列

Kos*_*Kos 9 .net c# data-binding wpf binding

我有一个字符串列表.

好吧,从概念上讲.它们存储在其他地方,但我想提供一个对象,它就像一个列表(并提供任何必要的事件),具有我可以绑定的属性.

我想在这个数据上建立一个双向绑定,将其显示为一个可修改的列DataGrid.我有以下问题:

  • 我不能进行双向绑定,因为绑定需要一个路径(即我不能让它看起来像{Binding}{Binding Path=.}在列中,{Binding Path=someField"}如果我做对了,必须要修改,这听起来很合理).
  • 我不完全知道代理集合对象应该是什么样的,在接口方面(会IEnumerable+ INotifyCollectionChanged足够吗?)

是否有任何解决方案不涉及为集合中的每个String创建一个代理对象?你能建议一个有效的设计吗?


为了让讨论保持在轨道上,让我们假设我想绑定到这样的东西:

class Source {
    public String getRow(int n);
    public void setRow(int n, String s);
    public int getCount();
    public void addRow(int position, String s);
    public void removeRow(int position);
}
Run Code Online (Sandbox Code Playgroud)

这不完全是我的情况,但当我知道如何绑定到这个时,我想我将能够处理这样的任何情况.

我可以在该Source之上提供一个适配器对象,包含任何必要的接口和事件,但我不希望每行数据都有一个适配器对象.

cod*_*ife -2

ObservableCollection<string>. 然后将可绑定控件设置ItemsSource为 ObservableCollection。