Frage

Ich habe ein Gitter mit vielen Textfelder und ich möchte NotifyPropertyChanged() Methode aufrufen einige andere Steuerelemente zu aktualisieren, jedes Mal wenn eine dieser Textfelder den Wert geändert = den Fokus verloren ( Ich will nicht Verwendung PropertyChanged als UpdateSourceTrigger)

Dies ist, was ich tun kann:

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

Ich brauche so etwas wie:

TextBoxBase.OnLostFocus
War es hilfreich?

Lösung

Mit dem verlorenen Fokus Ereignis

TextBox.LostFocus="OnTextBoxLostFocus"

Filter auf Textfelder;)

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

    //Do stuff
}

Wenn Sie Ihre Eigenschaften nicht geändert werden, wird Ihr Textfeld jedoch nicht aktualisiert werden. Sie berücksichtigen sollten die Daten die anderen Textfelder sind verpflichtet, anstelle der Verwendung Lost-Focus mutiert Ihr Modell zu aktualisieren.

Viel Glück!

Andere Tipps

TextBoxBase.LostFocus ist, wie ich vermute, das Ereignis Sie suchen.

Es ist hier aufgelistet: http: / /msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - aber es ist auf UIElement definiert - so dass Sie möglicherweise UIElement.LostFocus versuchen wollen, wenn die oben nicht funktioniert Markup.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top