WPF Dynamic resource example

Ankit picture Ankit · Apr 13, 2011 · Viewed 29.3k times · Source

Is there any example which can clearly state the difference between Static and dynamic resource. I know the basic difference that Static is loaded once and gets binded at start while dynamic is loaded at run time and rebinded every time the control reloads.

Thanks in advance

Answer

pchajer picture pchajer · Apr 13, 2011

If the Desktop Color is changed while the element’s application is running, the element keeps its original color:

<Button>
  <Button.Background>
    <SolidColorBrush Color="{StaticResource {x:Static SystemColors.DesktopColorKey}}" />
  </Button.Background>
  Hello
</Button>

On the other hand, if the element’s color is set using a DynamicResource, it changes when the Desktop Color changes:

 <Button>
      <Button.Background>
        <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.DesktopColorKey}}" />
      </Button.Background>
      Hello
    </Button>