Есть ли причина, по которой вы не используете DataGridComboBoxColumn
?
Хорошо, используя MVVM, я бы вызвал ICommand
в моей модели представления, где я мог бы просто получить доступ к ограниченному значению ComboBox
, Вы можете связать команды, используя EventTrigger
.
Сначала добавьте пространство имен:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Установка Interaction.Triggers
:
<DataGrid>
<i:Interaction.Triggers>
<i:EventTrigger EventName="CellEditEnding">
<i:InvokeCommandAction Command="{Binding CellEditEndCommand, Mode=OneWay}"/>
</i:EventTrigger>
<i:EventTrigger EventName="RowEditEnding">
<i:InvokeCommandAction Command="{Binding CellEditEndCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
Несколько советов для привязки, я не уверен, если это необходимо для ComboBox
, но для TextBox
, чтобы получить обновленное значение, вы должны установить UpdateSourceTrigger
в PropertyChanged
следующим образом: Text="{Binding text, UpdateSourceTrigger=PropertyChanged}"