Frage

Mein AutoCompleteBox ruft einen WCF -Dienst auf, wenn die Auswahl geändert wird, normalerweise mit der Maus. Wenn der Benutzer jedoch die Pfeiltasten verwendet, um durch die Auswahl zu navigieren, wird das Ereignis für jedes Element angezeigt, wodurch die Anwendung zu viel datenintensiv wird. Wie verhindern Sie, dass die automatische Vervollständigung der Tasten feuert, wenn die Schlüssel gedrückt werden?

Ich fand das, was wie eine schöne Lösung klang, aber es funktioniert nicht http://betaforums.silverlight.net/forums/p/137710/307786.aspx

War es hilfreich?

Lösung

OK, anstatt AutoCompleteBox_SelectionChanged zu verwenden, verwende ich AutoCompleteBox_DropdownCloded, und dies hat das Problem behoben.

Andere Tipps

Ich habe gerade gefunden, wie ich das gleiche Problem gelöst habe. Außerdem verwende ich SelectionChanged nicht.
Ich habe ein Verhalten zu Element DataTemplate hinzugefügt (zum Raster -Root). Dieses Verhalten befestigen Klick Handler zum Element. Wenn Tasten verwendet werden, ist das Verhalten "Schlafen". Wenn ich mit der Maus auf Element klicke, wird das Verhalten aufgerufen und erledigt seine Arbeit. (Außerdem bin ich die benötigte Eigenschaft des Elements an die Tag der DataTemplate -Raster -Tag -Eigenschaft, damit ich sie aus dem Verhalten einbeziehen kann.)

Nicht für jede Lösung geeignet, kann aber nützlich sein.

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