Переменная, назначенная DatePicker, не возвращает значение - PullRequest
0 голосов
/ 24 февраля 2020

Мне нужно получить Date в DatePicker и сохранить его в Database

В View У меня

<DatePicker Name="Data" Text="{Binding Path=Data, UpdateSourceTrigger=PropertyChanged}"/>

В ViewModel У меня

public DateTime Data
{
    get
    {
        return item.data;
    }
    set
    {
        if (value != item.data)
        {
            item.data = value;
            OnPropertyChanged(() => Data); powoduje zmiane na interfejsie
        }
    }
} 
...
...

ATMAEntites.Wydarzenia.Add(item);

В базе данных тип Date. Если я создаю Breakpoint после добавления в базу данных, item.data будет {01.01.0001 00:00:00}

Если я попытаюсь сохранить данные из DatePicker в строку, они вернут null. Другие элементы управления в View работают просто отлично.

1 Ответ

1 голос
/ 24 февраля 2020

Вам необходимо привязать свойство SelectedDate DatePicker к вашему свойству Data во ViewModel.

<DatePicker Name="Data" SelectedDate="{Binding Path=Data, UpdateSourceTrigger=PropertyChanged}"/>

Поскольку сейчас вы привязываете строку к DateTime, и, поскольку он не может ее преобразовать, он устанавливает значение DateTime по умолчанию, равное {01.01.0001. 00:00:00}.

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