C# 如何为属于ListView DataTemplate的datagrid设置CellEditEnding事件?

C# 如何为属于ListView DataTemplate的datagrid设置CellEditEnding事件?,c#,wpf,events,listview,datagrid,C#,Wpf,Events,Listview,Datagrid,我在设置datagrid事件时遇到问题。 我想用以下事件在ListView中注册datagrid: CellEditEnding=“dataGridInstallationProperties\u CellEditEnding” 但是,由于我动态设置了此datagrid的DataContext,应用程序将抛出NullReferenceException 是否有办法在列表视图中获取此数据网格集合,并用C#为每个数据网格编程设置此事件 下面是我的xaml: <ListView x:Name="

我在设置datagrid事件时遇到问题。
我想用以下事件在ListView中注册datagrid:
CellEditEnding=“dataGridInstallationProperties\u CellEditEnding”
但是,由于我动态设置了此datagrid的DataContext,应用程序将抛出NullReferenceException

是否有办法在列表视图中获取此数据网格集合,并用C#为每个数据网格编程设置此事件

下面是我的xaml:

<ListView x:Name="listViewInstallProperties"
        Height="Auto"
        Width="Auto"
        ItemsSource="{Binding InstallPackage.Features.FeaturesList}"
        BorderBrush="{x:Null}" Foreground="{x:Null}"
        Background="{x:Null}">
<ListView.Resources>
    <DataTemplate x:Key="ExpanderInstallPropsItemTemplate">
        <ScrollViewer VerticalScrollBarVisibility="Auto">
        <Expander x:Name="expanderInstallationProperties" Header="{Binding DisplayName}"
            Visibility="{Binding Path=IsSelected, Converter={StaticResource boolToVis}, Mode=TwoWay}"
            Grid.Column="0" HorizontalAlignment="Left"
                  Margin="0,0,0,-0.001"
                  d:LayoutOverrides="Height, GridBox" Width="600">
            <DataGrid x:Name="dataGridInstallationProperties"  
                     CellEditEnding="dataGridInstallationProperties_CellEditEnding"
                CanUserAddRows="False" AutoGenerateColumns="False"
                ItemsSource="{Binding Path=Properties}"
                Margin="0" RenderTransformOrigin="-1.6,-1.231" Background="White"
                VerticalAlignment="Stretch"
                HorizontalAlignment="Stretch" VerticalContentAlignment="Top"
                d:LayoutOverrides="GridBox" BorderBrush="{x:Null}" RowBackground="{x:Null}">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Description}"
                                        Header="Property"  IsReadOnly="True"/>
                    <DataGridTextColumn Binding="{Binding Value, UpdateSourceTrigger=PropertyChanged}"
                                        Header="Value" />
                    <DataGridTemplateColumn Header="Restore"
                                        CellTemplate="{StaticResource RestoreDefaultPropertyButtonTemplate}" />
                </DataGrid.Columns>
            </DataGrid>
        </Expander>
        </ScrollViewer>
    </DataTemplate>
</ListView.Resources>
<ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListViewItem}">
        <Style.Triggers>
            <Trigger Property="IsSelected"
                Value="True">
                <Setter Property="Background"
                    Value="{x:Null}" />
                <Setter Property="BorderBrush"
                    Value="{x:Null}" />
            </Trigger>
        </Style.Triggers>
    </Style>
</ListView.ItemContainerStyle>
<ListView.View>
    <GridView>
        <GridViewColumn Header="Extend The Feature To Get Its Related Properties" CellTemplate="{StaticResource ExpanderInstallPropsItemTemplate}" />
    </GridView>
</ListView.View>


谢谢

数据网格的绑定工作正常吗?@ethicalogics嗨,谢谢!我还通过编程为ListView设置了ItemsSource。。。这和我的问题有关吗?你能详细说明一下确切的问题吗。是datagrid的CellEditing事件未触发还是绑定不工作?datagrid的绑定是否工作?@ethicalogics Hi,谢谢!我还通过编程为ListView设置了ItemsSource。。。这和我的问题有关吗?你能详细说明一下确切的问题吗。是datagrid的CellEditing事件没有触发,还是绑定没有工作?