Devexpress winforms绑定GridControl选定行到ViewModel的属性



我在使用devexpress GridControl的winforms应用程序上工作,我有一个ViewModel与两个属性

public class MyViewModel
{
    public List<Cusomer> Customers{get;set;}
    public Customer SelectedCustomer {get;set;}
}

我如何将GridControl的SelectedRow绑定到我的ViewModel SelectedCustomer属性?

谢谢

不确定是否有直接绑定属性的方法。当选择改变时,你可以捕获BindingSource中触发的事件。

1)为CurrentChanged事件添加事件处理程序:

public class MyViewModel
{
    public List<Customer> Customers { get; set; }
    public Customer SelectedCustomer { get; set; }
    public void BindingSourceCurrentChanged(object sender, EventArgs e)
    {
        var bindingSource = sender as BindingSource;
        if (bindingSource == null) return;
        SelectedCustomer = bindingSource.Current as Customer;
    }
}
2)将GridControl, BindingSource和ViewModel链接在一起:
BindingSource bindingSource = new BindingSource { DataSource = myViewModel.Customers };
bindingSource.CurrentChanged += myViewModel.BindingSourceCurrentChanged;
gridControl1.DataSource = bindingSource;
gridView1.PopulateColumns();

最新更新