WPF, c # datepicker в фиксации данных - PullRequest
0 голосов
/ 22 марта 2019

У меня проблема с DatePicker , который находится в Датагрид . Когда я изменяю дату в строке, которая создается - видимый - это нормально, но когда я читаю данные, это старое значение. Я должен пойти в другую камеру и нажать Enter, после этого все в порядке.

Как зафиксировать изменения автоматически? Какое событие? Я пробовал разные События .. и CommitEdit , но пока мне ничего не помогает. Спасибо

Мой XAML:

<DataGrid x:Name="dg_work" HorizontalAlignment="Left" Height="142" Margin="11,396,0,0" VerticalAlignment="Top" Width="927" AutoGenerateColumns="False" PreviewKeyDown="dg_work_PreviewKeyDown" AddingNewItem="dg_work_AddingNewItem" CanUserAddRows="True" CanUserDeleteRows="True" Grid.ColumnSpan="2">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="Id" Binding="{Binding Ident}" />
                        <DataGridTemplateColumn Header="Datum">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <DatePicker SelectedDate="{Binding Datum}" BorderThickness="0" SelectedDateChanged="DatePicker_SelectedDateChanged" CalendarClosed="DatePicker_CalendarClosed" TouchEnter="DatePicker_TouchEnter" TextInput="DatePicker_TextInput" />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTextColumn Header="Arbeitszeit-Beginn" Binding="{Binding VonP}" />
                        <DataGridTextColumn Header="Arbeitszeit-Ende" Binding="{Binding BisP}" />
                        <DataGridTextColumn Header="Rüstzeit" Binding="{Binding Rzeit}" />
                        <DataGridTextColumn Header="Pause" Binding="{Binding Pzeit}" />
                        <DataGridTextColumn Header="Übernachtung" Binding="{Binding Ubern}" />
                        <DataGridTextColumn Header="Anfahrts-Zeit" Binding="{Binding ANZeit}" />
                        <DataGridTextColumn Header="Anfahrts-KM" Binding="{Binding ANkm}" />
                        <DataGridTextColumn Header="Rückfahrts-Zeit" Binding="{Binding RFzeit}" />
                        <DataGridTextColumn Header="Rückfahrts-KM" Binding="{Binding RFkm}" />
                        <DataGridTextColumn Header="Zusatzinfos" Binding="{Binding Zinfo}" />

                    </DataGrid.Columns>
                </DataGrid>

В C #:

        private void DatePicker_CalendarClosed(object sender, RoutedEventArgs e)
    {
        dg_work.CommitEdit();
    }

    private void DatePicker_TouchEnter(object sender, TouchEventArgs e)
    {
        dg_work.CommitEdit();
    }

    private void DatePicker_TextInput(object sender, TextCompositionEventArgs e)
    {

        dg_work.CommitEdit();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...