Domanda

Ho una griglia con molte caselle di testo e voglio chiamare il metodo NotifyPropertyChanged() per aggiornare alcuni altri controlli ogni volta che una di queste caselle di testo modificato il valore = perso la messa a fuoco ( Non voglio per uso PropertyChanged come UpdateSourceTrigger)

Questo è quello che posso fare:

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

Ho bisogno di qualcosa di simile:

TextBoxBase.OnLostFocus
È stato utile?

Soluzione

Utilizzare l'evento attenzione perduto

TextBox.LostFocus="OnTextBoxLostFocus"

Filtro per textboxes;)

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

    //Do stuff
}

Se le proprietà non vengono modificate, le vostre caselle di testo non verrà aggiornato però. Si dovrebbe considerare mutando i dati quelle altre caselle di testo sono tenuti a, invece di utilizzare LostFocus per aggiornare il modello.

In bocca al lupo!

Altri suggerimenti

TextBoxBase.LostFocus è, ho il sospetto, l'evento che state cercando.

E 'elencati qui: http: / /msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - ma è definito in UIElement - in modo forse volete provare UIElement.LostFocus se quanto sopra non funziona in markup.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top