2013-04-03 57 views
0

我正在將Windows Phone 7應用程序轉換爲Windows應用商店,因此我將轉移到Xaml。我有一個運行在某個點上的方法來更新屏幕上的數據。它會將事件處理程序委託分配或移除到CompositionTarget.Rendering事件。我得到的消息是「OnCompositionTargetRendering」匹配委託「System.EventHandler」「不超載CompositionTarget.Rendering不喜歡我在XAML中的事件處理程序

這是我有:

private void CheckCompleted() 
    { 
     Color completeColor; 
     if (this.DecryptedText.ToString().ToUpper() == this.ThisPuzzle.QuoteText.ToUpper()) 
     { 
      // We're done!!!    ... 
      CompositionTarget.Rendering -= this.OnCompositionTargetRendering;// new EventHandler(this.OnCompositionTargetRendering); 
      ... 
     } 
     else 
     { 
      ... 
      CompositionTarget.Rendering += this.OnCompositionTargetRendering;// new EventHandler(this.OnCompositionTargetRendering); 
      ... 
     } 
    } 

    protected void OnCompositionTargetRendering(object sender, EventArgs args) 
    { 
     this.DisplayTime(); 
     if (ThisPuzzle != null) 
     { 
      foreach (UIElement thisElement in Letters.Children) 
      { 
       ... 
      } 
     } 
    } 

回答

1

如果您查看文檔CompositionTarget.RenderingEventHandler<object>類型的Windows Store apps,而不是如Silverlight中輸入EventHandler

這意味着你需要相應地改變你的事件處理程序的簽名:

protected void OnCompositionTargetRendering(object sender, object args) 
+0

哦..對象ARGS ...我看到的文檔中,從私人到保護的變化...我會試試,謝謝。 – 2013-04-04 16:00:54