This is happening because UI freezes (due to long running task you are invoking) before it can render as disabled. In .NET 2.0/3.5 The best way to achieve desired behavior is to use BackgroundWorker.
- In its
DoWork
event (which is executed on separate thread) you should run your long running task. - In its
RunWorkerCompleted
event (executed on UI thread) you should enable Window. In button click event, run the
BackgroundWorker
this way:Window_Abfrage.IsEnabled = false;
backgroundWorker.RunWorkerAsync();