WPF datagridtemplatecolumn editrowending事件未引发

时间:2014-02-19 13:46:49

标签: c# wpf datagrid

我遇到了DataGrid EditRowEnding事件未触发的问题。

我的DataGridDataGridTemplateColumn,如果此列的值发生更改且行失去焦点,则不会触发EditRowEnding事件。我认为这是因为DataGrid不知道DataGridTemplateColumn更改中的孩子。

无论如何,我可以告知DataGrid自定义单元格已更改。

这是我到目前为止的代码:

<DataGrid Grid.Row="2" Name="Users" ItemsSource="{Binding Users, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" SelectedItem="{Binding SelectedUser}" 
              AutoGenerateColumns="False" IsReadOnly="False" Margin="0,10,0,0" 
              Style="{StaticResource AlternatingDataGridStyle}" CanUserAddRows="False" CanUserDeleteRows="True"
              cal:Message.Attach="[Event RowEditEnding] = [Action ModifyUser($eventArgs)]" SelectionMode="Single">
    <DataGrid.Columns>
            <DataGridTextColumn Header="Username" Binding="{Binding Username, UpdateSourceTrigger=PropertyChanged}"/>
            <DataGridTemplateColumn Header="Password">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <PasswordBox customBehaviours:PasswordHelper.Attach="True"
                                     customBehaviours:PasswordHelper.Password="{Binding Password, UpdateSourceTrigger=PropertyChanged}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Role">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox SelectedItem="{Binding Role, UpdateSourceTrigger=PropertyChanged}"
                                  ItemsSource="{Binding Source={StaticResource UserRoleEnumProvider}}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

感谢。

0 个答案:

没有答案