简体   繁体   中英

WPF TextBox lostfocus as attached property

I have a Grid with many TextBoxes and I want to call NotifyPropertyChanged() method to update some other controls everytime one of these TextBox-es changed the value = lost the focus ( I don't want to use PropertyChanged as UpdateSourceTrigger )

This is what I can do:

<Grid TextBoxBase.TextChanged="My_TextChanged"  >
...
</Grid>

I need something like:

TextBoxBase.OnLostFocus

TextBoxBase.LostFocus is, I suspect, the event you're looking for.

It's listed here: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - but it's defined on UIElement - so you possibly want to try UIElement.LostFocus if the above doesn't work in markup.

Use the lost focus event

TextBox.LostFocus="OnTextBoxLostFocus"

Filter on textboxes ;)

private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
    if(!(e.OriginalSource is TextBox))
        return;

    //Do stuff
}

If your properties are not changed, your Textboxes will not be updated however. You should consider mutating the data those other TextBoxes are bound to, instead of using LostFocus to update your model.

Good luck!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM