Skip to main content

Updating UI during long operation

If you are performing an extensive operation that has multiple UI updates, for example in a loop, then you can use the following code to keep the UI updated alongside the operation.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    private void UpdateUI()
    {
        DispatcherFrame update = new DispatcherFrame();
        Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(delegate (object parameter)
        {
            update.Continue = false;
            return null;
        }), null);
        Dispatcher.PushFrame(update);
    }

Simply call that function inside your loop and the UI will update. Note, I have set the priority to background, you may have to set that to "Render"

Comments

Popular posts from this blog

Connecting VS 2008 to TFS?

Trouble connecting vs 2008 to TFS? If you are running a newer version of TFS, 2008 does not understand collections. In order to fix that, you need the following installed: SP1 http://www.microsoft.com/en-us/download/details.aspx?id=13276 Team Explorer http://www.microsoft.com/en-us/download/details.aspx?id=16338 Forwards Compatibility https://www.microsoft.com/en-us/download/details.aspx?id=10834

File menu opening on wrong side? [Windows 10]

If you are using windows 10 and the file menu opens on the left side, here is a fix: Run (Win+R) paste the following: shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E} click "Other" tab choose "Left-handed" Now the menu should open within the window:

Visual Studio stuck during install?

Let me start by saying this is a weird one. If you are installing VS and you notice that progress bar just isn't moving. Chances are it is stuck on something internally, to kick it out of this state, we "threaten" visual studio by initiating a windows shut down. This will result in windows prompting you to make sure you want to follow through. You can cancel out of the shutdown, and it should release visual studio from the stuck progress bar or what ever perpetual task it was stuck on.