0

プロパティ 私は WPF と MVVM を使用しており、私のページに以下のような 2 つの DatePickerUpdateSourceTrigger=PropertyChangedがあります。

<DatePicker Grid.Column="1" Height="25" Validation.ErrorTemplate="{x:Null}" Text="{Binding UDC.StartDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:dd/MM/yyyy}}" HorizontalAlignment="Left" Margin="22,90,0,0" Name="dtStartDate" VerticalAlignment="Top" Width="120" />
<DatePicker Grid.Column="1" Height="25" Validation.ErrorTemplate="{x:Null}" Text="{Binding UDC.EndDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:dd/MM/yyyy}}" HorizontalAlignment="Left" Margin="22,130,0,0" Name="dtEndDate" VerticalAlignment="Top" Width="120" />

解決策を検索しましたが、この問題を解決する方法は得られませんでした。

UDCはこんな感じでEntityのオブジェクト

UDC
{
public int ID { get; set; }
public String Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}

他のすべてのバインディングは完全に機能しますが、EndDateだけがビューから値を返しません。

4

2 に答える 2

0

実際、私は自分で答えを見つけました。問題は、 SelectedDateの代わりに DatePicker のTextプロパティをバインドしていたことです。Xaml ファイルをこれに変更すると、すべて正常に動作しました。

<DatePicker Validation.ErrorTemplate="{x:Null}" Grid.Column="1" Height="25" SelectedDate="{Binding UDC.StartDate,ValidatesOnDataErrors=False, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:dd/MM/yyyy}}" HorizontalAlignment="Left" Margin="22,48,0,0" Name="dtStartDate" VerticalAlignment="Top" Width="120" />

<DatePicker Validation.ErrorTemplate="{x:Null}" Grid.Column="1" Height="25" SelectedDate="{Binding UDC.EndDate,ValidatesOnDataErrors=False, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:dd/MM/yyyy}}" HorizontalAlignment="Left" Margin="22,85,0,0" Name="dtEndDate" VerticalAlignment="Top" Width="120" />
于 2013-10-08T12:41:49.750 に答える