当我在WPF中更改数据网格内的下拉列表时,datagridcellleditending事件不会触发

本文关键字:datagridcellleditending 下拉列表 事件 WPF 网格 数据网 数据 | 更新日期: 2023-09-27 18:17:31

我使用以下代码在我的DataGridTemplateColumn中使用ComboBox:

<DataGridTemplateColumn Header="MyHeader" Width="50">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Width="Auto" Text="{Binding Path=MyVal}" ToolTip="{Binding MyDisplayName}"></TextBlock>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <ComboBox Width="50" Height="17" ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=DataContext.MyList}" 
                      SelectedValuePath="MyValPath" SelectedValue="{Binding MySelectedVal}" SelectedItem="{Binding MyObject}" DisplayMemberPath="MyDisplayName" 
                      FontSize="12"  >
            </ComboBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

CellTemplate是显示我的文本(自定义文本选定的值)和CellEditingTemplate包含我的ComboBox,它有实际的列表。

当我从下拉菜单中选择一个值时,我必须点击数据网格的另一部分才能触发DataGridDiagnosticCellEditEnding

我想让它在我选择一个值或改变我的ComboBox的值时被触发。

我尝试添加以下代码,但它不起作用:

<ComboBox Width="50" Height="17" ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=DataContext.MyList}" 
                                 SelectedValuePath="MyValPath" SelectedValue="{Binding MySelectedVal}" SelectedItem="{Binding MyObject, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="MyDisplayName" FontSize="12" >

我也试过添加IsSynchronizedWithCurrentItem="True" .

当我在WPF中更改数据网格内的下拉列表时,datagridcellleditending事件不会触发

我试了试你的代码,我得到了一个修复:

  1. 在DataGrid列的ComboBox上订阅关闭事件

  2. 实现事件处理程序并引发路由事件

CommitEditCommand属于DataGrid类:

    private void ComboBoxDropDownClosed(object sender, EventArgs e)
    {
        DataGrid.CommitEditCommand.Execute(datagrid1,datagrid1);
    }

从那里你落在数据网格中。CellEditting断点

下面是工作解决方案:http://1drv.ms/1LFB5Gc

相关文章:
  • 没有找到相关文章