我正在将Windows Phone 7应用程序转换为Windows应用商店,因此我转向Xaml。我有一个在某个点运行的方法来更新屏幕上的数据。它将事件处理程序委托分配或移除到CompositionTarget.Rendering事件。我得到的消息是'OnCompositionTargetRendering'没有重载匹配委托'System.EventHandler''
这就是我所拥有的:
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)
{
...
}
}
}
答案 0 :(得分:1)
如果您在Windows Store apps中检查文档CompositionTarget.Rendering
的类型为EventHandler<object>
,而Silverlight中的文档类型为EventHandler
。
这意味着您需要相应地将事件处理程序的签名更改为:
protected void OnCompositionTargetRendering(object sender, object args)