我有2个控件:一个DatePicker(用于日期)和一个TextBox(用于时间)。
两者都链接到同一属性MyDate
。
在启动时,现在是日期,现在是时间,但是当我更新日期时,时间会更改为0:00
。
有没有办法只改变房产的日期并留下时间?
我理解为什么以及如何发生这种情况,但我如何通过不改变财产来解决这个问题呢?
<DatePicker VerticalContentAlignment="Center" FontSize="12" Text="{Binding Path=MyDate, StringFormat='d', UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
</DatePicker>
<dxe:DateEdit Height="25" MaskUseAsDisplayFormat="True" AllowDefaultButton="False" EditValue="{Binding Path=MyDate}" Mask="HH:mm">
<dxe:DateEdit.StyleSettings>
<dxe:DateEditPickerStyleSettings/>
</dxe:DateEdit.StyleSettings>
</dxe:DateEdit>
答案 0 :(得分:3)
内置的DatePicker控件只选择没有任何特定时间的日期,所以我担心尝试在TextBox中显示所选日期的时间是没有意义的。
您应该将DatePicker和TextBox分别绑定到两个不同的源属性,分别为DateTime?
和TimeSpan
。
另一种选择是使用另一个选择日期和时间的控件,例如:http://wpftoolkit.codeplex.com/wikipage?title=DateTimePicker