2013-10-07 43 views
0

属性我正在使用WPF和MVVM,并且在我的页面中有两个DatePicker,如下图所示。UpdateSourceTrigger=PropertyChanged仅适用于第一个,当我更改Date中的Date第二个,绑定到它的数据不会改变。UpdateSourceTrigger = PropertyChanged仅适用于页面上的第一个DatePicker

<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是实体的对象这样

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

所有其他绑定完美,只是结束日期没有从视图返回任何值。

+1

'UDC'对象是怎么样的? – dkozl

+0

更新的问题 –

+0

使用你的代码,如预期,无论是'StartDate'和'EndDate'设置 – dkozl

回答

1

你需要让UDD实施INotifyPropertyChanged。然后,您需要更改Start和EndDate的setter以调用OnPropertyChanged。

的另一件事是看到的是,在你的XAML,这是UDC,但在C#中,它的UDD。我不知道这是帖子中的错字还是代码。

+0

感谢罗布。其实我以前做过。但无论如何感谢。 –

0

其实我发现自己的答案。问题是,我已经绑定的DatePicker的文本属性,而不是SelectedDate的。当我将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" /> 
+1

哈,我想表明的,但找我看到其他例子结合文本各地的网络中。我从来没有用过简单的WPF DatePicker。恭喜你弄明白了! –

相关问题