以编程方式设置wpf datagrid单元格值

时间:2017-05-18 13:13:20

标签: wpf datagrid

我有一个简单的数据网格,包含2列,ProductCode和Description 当用户在第一列中编译ProductCode并移动到下一列时,程序应该使用Products表中的产品描述编译Description单元格。
这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

  

这样做的最佳方法是什么?

定义一个具有两个属性ProductCodeDescription的类,它实现INotifyPropertyChanged接口。然后,您可以在ProductCode属性的setter中查找产品的描述,例如:

public class Product : INotifyPropertyChanged
{
    private string _productCode;
    public string ProductCode
    {
        get { return _productCode; }
        set
        {
            _productCode = value;
            NotifyPropertyChanged();
            LookupProduct();
        }
    }

    private string _description;
    public string Description
    {
        get { return _description; }
        set { _description = value; NotifyPropertyChanged(); }
    }

    private void LookupProduct()
    {
        //loop up product based on _productCode here
        //...and set the Description property:
        Description = "...";
    }

    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

您当然也应该将ItemsSource的{​​{1}}属性设置或绑定到DataGrid