In C#, how do you send a refresh/repaint message t

2019-04-09 03:12发布

问题:

How do you send a refresh message to a WPF grid or canvas?

In other words, I have noticed while in debug mode, I can write code that sends a line to the display and then, if that line is not right, I can adjust it -- but the previous line is still there. Now, the code I am writing sends information to the display based on what the user clicks. So this must mean that the display is not refreshed each time a new set of lines and boxes and text goes to the grid or canvas in WPF.

Using C# code, how do you send a refresh/repaint message to a WPF grid or canvas?

回答1:

Refresh update WPF Controls like Winforms

public static class ExtensionMethods
{
   private static Action EmptyDelegate = delegate() { };

   public static void Refresh(this UIElement uiElement)
   {
      uiElement.Dispatcher.Invoke(DispatcherPriority.Render, EmptyDelegate);
   }
}


回答2:

I'm used to winforms so this is only a guess, but look for an Invalidate() method.