c# - WPF putting message -


i try put message using label on common form. regarding code below, i'd see messages, i'm trying put, see message after sleep().

lbstatus.content = "synchronizing customers"; thread.sleep(1000); lbstatus.content = "synchronizing estimates";      <label content="" height="28" name="lbstatus" margin="159,60,0,0" horizontalalignment="center" verticalalignment="top" width="207" fontsize="12" visibility="hidden" foreground="blue"/> 

thanks.

issue sleeping on ui thread.

after first line execution slept on ui thread it's ui thread responsibility refresh ui (ui thread refreshes ui on render dispatcher priority). hence, see no update after first line execution because ui thread never gets time execute render priority items queued on dispatcher.

ideally, should use dispatchertimer wait on ui thread interval of time , update once interval time elapsed.


however, quick , dirty solution dispatch empty delegate on ui thread dispatcher priority set render before slept on ui refresh part gets executed before thread falls in sleep state.

lbstatus.content = "synchronizing customers"; lbstatus.dispatcher.invoke((action)(() => { }), dispatcherpriority.render); thread.sleep(1000); lbstatus.content = "synchronizing estimates"; 

idea here once queue empty delegate on ui dispatcher render priority, execute pending items priority higher or equal render. since, ui refresh done on on render priority, ui refreshed.


Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -