Gibt es eine einfache Möglichkeit, eine wechselseitige WPF-Datenbindung nach der letzten Änderung einige Millisekunden zu warten, bevor die Quelle mit dem neuen Eigenschaftswert aktualisiert wird?So verschieben Sie ein Update auf eine Bindung in WPF
Ich bin ein Filter-Feature für eine ListBox implementieren, wo ich ein Textfeld habe, und ich möchte den Inhalt der ListBox nach dem was ich tippe filtern. Ich verwende Datenbindung, um die Teile miteinander zu verbinden. Das Filtern der Liste kann ziemlich zeitaufwendig sein, deshalb möchte ich es nicht nach jedem eingegebenen Zeichen machen: daher meine Anfrage.
Ich habe Paul Stovells DelayBinding Extension verwendet (seine Site ist im Moment down, also kann ich mich nicht damit verbinden). Ich vermute jedoch, dass dies der Grund für einen Speicherverlust in meiner Anwendung ist (verursacht dadurch, dass Event-Handler nicht entfernt werden).
Hat sonst noch jemand andere Ideen?
nur bestätigt, erlebte ich ähnliches Problem mit DelayBinding. Ich hatte eine MVVM-Shell-Anwendung, die ein StackPanel voller Menüschaltflächen und ein Haupt-ContentControl enthielt. Der ContentControl.Content wurde durch eine Eigenschaft in der Shell ViewModel festgelegt. Wenn ich jedoch ein UserControl geladen habe, das eine DelayBinding-Funktion enthielt, und dann den Inhalt wechselte, ging die Speicherbelegung gerade durch. Memory Profiler hat bestätigt, dass die alten Content UserControls vom GC nicht erfasst werden konnten. – LiamV