Sometimes you have to appreciate the power and simplicity that WPF(and by extend XAML has to offer). While having to do a lot of voodoo magic with Reactive Extensions to support debouncing , in WPF it can be reduced to one binding property, the Delay Binding Property . You can use the WPF Delay binding property to debounce binding events. For example following code will debounces the key input until nothing changes for 0.5 seconds: Text="{Binding UserName,UpdateSourceTrigger=PropertyChanged,Delay=500}" Sweet!