WPF Timer疑难问题解答

WPF Timer在实际使用中出现了一些问题, 经过2天努力的调试才初步发现了其中的问题。并经过各种资料的查找,终于初步解决了这一问题。#t#

我使用 new System.Threading.Timer(TimerCallbacefun, null, 300,0);

 

  1. void TimerCallbacefun
    (object state)  
  2. {  
  3. this.Dispatcher.BeginInvoke
    ((ThreadStart)delegate   
  4. {   
  5. this.container.Children.Clear();   
  6. for (int i=0;i<6;i++)   
  7. {   
  8. mb.Page.Presentation = 
    m_page.Presentation;   
  9. mb.Page = m_page;   
  10. FrameworkElement uiEle = 
    new Canvas(){  
  11. Top=100*i,  
  12. Height=100,  
  13. width=100 
  14. };   
  15. this.container.Children.
    Add(uiEle);   
  16. }   
  17. });  

 

这么做是为了延时异步加载, 但是不是每次都能创建所有的Canvas, 不知道WPF Timer到底什么问题。

WPF Timer问题解决方法: 改为同步创建, 或者使用线程异步创建都能成功。

THE END