views:

19

answers:

1

So, I have a control. It displays an image based some xml document and an optional parameter

  • "Document" - XML document
  • "RenderingOption" - optional image-rendering ( sharpen, soften )

So:

<XMLRenderingWidget Document="xxxxxx"/>

The above will render the document once

<XMLRenderingWidget Document="xxxxxx" RenderingOption="Sharpen"/>

The above will, sometimes render the document once, more oftentimes:

  • Perform the rendering of the document as if no Rendering was set
  • then, re-render the document with the Sharpen option

I do the rendering on the PropertyChangedCallback assigned to the property. How do I tell the control to "hey, before doing the rendering, apply the changes on the other properties being set, too"

Is this not possible? Should I bundle them up as one property instead?

A: 

Try defering the execution with

Dispatcher.BeginInvoke(new Action(DoRender), DispatcherPriority.ContextIdle);

dispatcher will finish updating properties before executing your action.

majocha