Лучший способ сделать это - использовать привязку к таким свойствам, как
private ProductIdEnum m_productId;
public ProductIdEnum ProductId
{
get
{
return m_productId;
}
set
{
m_productId = value;
// Value changed...
}
}
Чтобы добавить EventHandler для события SelectionChanged ComboBox, вы можете сделать это, но я бы не рекомендовал это.
<DataGridComboBoxColumn Header="ProductID"
...">
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<EventSetter Event="SelectionChanged" Handler="ProductIdChanged" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
И в коде позади
public T GetVisualParent<T>(object childObject) where T : Visual
{
DependencyObject child = childObject as DependencyObject;
while ((child != null) && !(child is T))
{
child = VisualTreeHelper.GetParent(child);
}
return child as T;
}
void ProductIdChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
DataGridRow dataGridRow = GetVisualParent<DataGridRow>(comboBox);
SomeClass myClass = dataGridRow.Item as SomeClass;
// Set description
}