У меня есть WPF, содержащий динамически созданный DataGridComboBoxColumn, у него есть comboBox, в котором я могу изменить значение в любой строке. В таблице также есть флажок в другом столбце. Если я изменяю его, он вызывает метод каждый раз, когда изменяется строка, я хочу получить тот же результат при изменении значения в выпадающем списке
У меня есть список моих объектов Rum, для которых есть три метода
public int rumStyle { get; set; }
public string rumStyleDesc { get; set; } // string representation of ruymStyle
public bool rumIsValid { get; set; }
Эта часть флажка работает
DataGridTemplateColumn textColumnValid = new DataGridTemplateColumn();
textColumnValid.Header = headerRumIsValid;
FrameworkElementFactory checkBoxFactory = new FrameworkElementFactory(typeof(CheckBox));
Binding rumIsValidBinding = new Binding("rumIsValid");
checkBoxFactory.SetValue(CheckBox.IsCheckedProperty, rumIsValidBinding);
checkBoxFactory.AddHandler(CheckBox.ClickEvent, new RoutedEventHandler(LostFocus));
DataTemplate rumIsdValidTemplate = new DataTemplate();
rumIsdValidTemplate.VisualTree = checkBoxFactory;
textColumnValid.CellTemplate = rumIsdValidTemplate;
_dgData.Columns.Add(textColumnValid);
Эта часть отображает комбинированный список в каждой строке, но я хочу, чтобы он вызывал LostFocus (или другой метод) при изменении выбора.
DataGridComboBoxColumn comb = new DataGridComboBoxColumn();
comb.Header = headerRumStyle;
comb.SelectedValueBinding = new Binding("rumStyleDesc");
comb.ItemsSource = _rumStyles.getRumStyleNames();
FrameworkElementFactory comboFactory = new FrameworkElementFactory(typeof(ComboBoxItem));
comboFactory.SetValue(ComboBox.SelectedItemProperty, new Binding("rumStyleDesc"));
comboFactory.AddHandler(ComboBox.SelectionChangedEvent,
new SelectionChangedEventHandler(comboBox1_SelectionChanged));
DataTemplate comboboxTemplate = new DataTemplate();
comboboxTemplate.VisualTree = buttonFactory;
// How do I do this part
// comb.CellTemplate = comboboxTemplate;
_dgData.Columns.Add(comb);
Второй, но менее важный вопрос: могу ли я отобразить rumStlyeDesc в выпадающем списке, но каким-то образом прочитать rumstyleId.