在Silverlight中有类似“OnPaint”的方法吗?

时间:2011-08-01 18:11:06

标签: c# silverlight onpaint

Silverlight中是否存在类似“OnPaint”的方法?

当我编写C ++时,我发现使用OnPaint事件来自定义屏幕类的显示是很容易的吗?

Silverlight中是否有等价物?如果我想在屏幕上显示UserControl时做某事,我会覆盖哪种方法?

我注意到这篇文章: C# WPF OnPaint method alternative? 但似乎在Silverlight中,对于UserControl类,thre不是“OnRender”方法。

3 个答案:

答案 0 :(得分:2)

OnPaint是一种解决方法......允许您自定义控件的外观。那是因为您无法控制WinForms应用程序中任何控件的默认外观。

随着Silverlight的全部改变。现在,每个控件都使用templatesstyles进行了有效蒙皮,并且对如何自定义它们的限制很少。有太多的链接,所以我只是为你抓了一对。

为自己准备一本关于Silverlight的好书并学习使用它的正确方法(不是围绕它)。 This one是我的最爱之一。

如果你有特定的事情要做,那么对于用户控件的外观,最好列出那些,并找出最好的方法 Silverlight方式。 :)

答案 1 :(得分:0)

您尚未指定要执行的操作。如果您只是想知道何时渲染帧,CompositionTarget.Rendering Event会告诉您。如果你真的想在正在渲染的帧上绘制,你就不能这样做。

答案 2 :(得分:0)

是LayoutUpdated。 如:

...
            this.LayoutUpdated += new EventHandler(LayoutUpdated);

}

  void LayoutUpdated(object sender, EventArgs e)
{}