TimePicker внутри Датагрид. Как вызвать EndEdit при изменении значения в выпадающем списке - PullRequest
0 голосов
/ 17 января 2019

У меня есть TimePicker внутри столбца Datagrid. Когда время изменяется с помощью комбинированного списка выбора времени, я хочу запустить Datagrid.EndEdit, где данные сохраняются в базе данных

<xcdg:Column FieldName="Start" CellEditorDisplayConditions="Always">
                <xcdg:Column.CellValidationRules>
                    <validation:StartTimeValidation/>
                </xcdg:Column.CellValidationRules>
                <xcdg:Column.CellEditor>
                    <xcdg:CellEditor>
                        <xcdg:CellEditor.EditTemplate>
                            <DataTemplate>
                                <xctk:TimePicker 
                            Value="{xcdg:CellEditorBinding}"
                            UpdateValueOnEnterKey="True"
                                         ShowButtonSpinner="False" TimeInterval="0:15"
                                         Format="Custom"
                                         FormatString="HH:mm"
                                         ValueChanged="UpDownBase_OnValueChanged"
                                   />
                            </DataTemplate>
                    </xcdg:CellEditor.EditTemplate>
                    </xcdg:CellEditor>
                </xcdg:Column.CellEditor>
            </xcdg:Column>

Я пытался поместить вызов EndEdit в обработчик для ValueChanged, но ValueChanged запускается перед проверкой, вызывая состояние гонки, потому что EndEdit не может завершиться, если проверка не пройдена

...