Ich versuche, den folgenden Code zu verstehen versuchen, reaktive Erweiterungenbeobachtbaren Muster auf reaktive Verlängerung
IObservable<string> textChangedObservable =
Observable.FromEventPattern<TextChangedEventArgs>(searchScrip, "TextChanged")
.Select(evt => ((TextBox) sender).Text);
textChangedObservable.Subscribe(OnNext, OnCompleted);
private void OnNext(string s)
{
System.Diagnostics.Debug.Print("OnNext " + s + "\n");
}
private void OnCompleted()
{
System.Diagnostics.Debug.Print("OnCompleted " + "\n");
}
verwenden Wenn ich Suche innen das Eingabefeld eingeben, sieht die Ausgabe
- OnNext SE
- OnNext SEA
- OnNext SEA
- OnNext SEAR
- OnNext SEAR
- OnNext SEAR
- OnNext SUCHTECHNOLOGIE
- OnNext SUCHTECHNOLOGIE
- OnNext SUCHTECHNOLOGIE
OnNext SUCHTECHNOLOGIE
- Warum ist "S" keine OnNext Auslösung?
- Warum wird OnCompleted nie aufgerufen?
- Warum wird der OnNext n-1 Mal auf dem n-ten Zeichen aufgerufen?
keine einfache Frage, da die Klasse 'XamTextEditor' nicht mühelos zur Verfügung steht. Ich vermute, dass es etwas mit der Implementierung von 'RoutedPropertyChanged' zu tun haben könnte. – supertopi
Eigentlich müssen Sie uns sagen, welche XAML-Elemente' searchScrip' und 'sender' sind. – supertopi
Das Codebeispiel wurde geändert, um das wpf-Textfeld zu verwenden, um die Dinge einfach zu halten. Aber das Verhalten ist immer noch das Gleiche wie in den Fragen – asb