我有一个简单的数据网格,包含2列,ProductCode和Description
当用户在第一列中编译ProductCode并移动到下一列时,程序应该使用Products表中的产品描述编译Description单元格。
这样做的最佳方法是什么?
答案 0 :(得分:0)
这样做的最佳方法是什么?
定义一个具有两个属性ProductCode
和Description
的类,它实现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
。