WPF datagrid组合框列:如何管理选择事件的变化?

Fra*_*oDS 8 c# wpf datagrid combobox

我有一个带有组合框列的数据网格

<DataGridComboBoxColumn x:Name="DataGridComboBoxColumnBracketType" Width="70" Header="Tipo di staffa" SelectedValueBinding="{Binding type, UpdateSourceTrigger=PropertyChanged}">                    
            </DataGridComboBoxColumn>
Run Code Online (Sandbox Code Playgroud)

我想要一个仅在用户将值更改为组合框时触发的事件.我该如何解决这个问题?

kev*_*npo 14

我在CodePlex上找到了解决方案.在这里,经过一些修改:

<DataGridComboBoxColumn x:Name="Whatever">                    
     <DataGridComboBoxColumn.EditingElementStyle>
          <Style TargetType="{x:Type ComboBox}">
               <EventSetter Event="SelectionChanged" Handler="SomeSelectionChanged" />
          </Style>
     </DataGridComboBoxColumn.EditingElementStyle>           
</DataGridComboBoxColumn>
Run Code Online (Sandbox Code Playgroud)

并在代码隐藏中:

private void SomeSelectionChanged(object sender, SelectionChangedEventArgs e)
{
     var comboBox = sender as ComboBox;
     var selectedItem = this.GridName.CurrentItem;

}
Run Code Online (Sandbox Code Playgroud)


Kal*_*nov 5

以及 CodePlex 的 @kevinpo 提供的 xaml 代码和David Mohundro 博客的帮助,以编程方式:

var style = new Style(typeof(ComboBox));
style.Setters.Add(new EventSetter(ComboBox.SelectionChangedEvent, new SelectionChangedEventHandler(SomeSelectionChanged)));
dataGridComboBoxColumn.EditingElementStyle = style;
Run Code Online (Sandbox Code Playgroud)