我有一个包含许多文本框的网格,我想调用NotifyPropertyChanged()
方法来更新其他一些控件,每次这些文本框之一更改值 = 失去焦点(我不想用作PropertyChanged
)UpdateSourceTrigger
这是我能做的:
<Grid TextBoxBase.TextChanged="My_TextChanged" >
...
</Grid>
我需要类似的东西:
TextBoxBase.OnLostFocus
我有一个包含许多文本框的网格,我想调用NotifyPropertyChanged()
方法来更新其他一些控件,每次这些文本框之一更改值 = 失去焦点(我不想用作PropertyChanged
)UpdateSourceTrigger
这是我能做的:
<Grid TextBoxBase.TextChanged="My_TextChanged" >
...
</Grid>
我需要类似的东西:
TextBoxBase.OnLostFocus
TextBoxBase.LostFocus
是,我怀疑,你正在寻找的事件。
它在这里列出:http: //msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - 但它已定义- 所以如果上述方法不起作用UIElement
,您可能想尝试UIElement.LostFocus
在标记中。
使用失去焦点事件
TextBox.LostFocus="OnTextBoxLostFocus"
过滤文本框;)
private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
if(!(e.OriginalSource is TextBox))
return;
//Do stuff
}
如果您的属性未更改,则您的文本框将不会更新。您应该考虑改变其他 TextBox 绑定的数据,而不是使用 LostFocus 来更新您的模型。
祝你好运!