我有Silverlight MVVMLight 4.0应用程序,其中我有datepicker。
datepicker是双向绑定到viewmodel的。没有代码。
当标记日期选择器文本框时,这可以正常工作,并将更改对象的基础属性。
但是,当我更改文本框并且没有关闭标签并单击“保存”时,未注册更改。
我已经查看了各种被触发的事件,除非你关闭
,否则它们不会触发 private void startDateDatePicker_TextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
}
private void startDateDatePicker_TextInputStart(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
}
private void startDateDatePicker_TextInputUpdate(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
}
private void startDateDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
}
有人有解决方法吗?
亲切的问候,专利
答案 0 :(得分:2)
我很确定TextBox
在更新属性之前需要失去焦点。
你可以尝试处理KeyDown
的{{1}}事件并从那里更新属性,但我不确定它的表现如何。
答案 1 :(得分:0)
更改绑定中的UpdateSourceTrigger值。 如果未设置,则使用默认值(即TextBox.Text的Lost Focus) 根据屏幕的内部工作和需要,您可以将其设置为PropertyChanged或Explicit。