Silverlight中是否存在类似“OnPaint”的方法?
当我编写C ++时,我发现使用OnPaint事件来自定义屏幕类的显示是很容易的吗?
Silverlight中是否有等价物?如果我想在屏幕上显示UserControl时做某事,我会覆盖哪种方法?
我注意到这篇文章: C# WPF OnPaint method alternative? 但似乎在Silverlight中,对于UserControl类,thre不是“OnRender”方法。
答案 0 :(得分:2)
OnPaint是一种解决方法......允许您自定义控件的外观。那是因为您无法控制WinForms应用程序中任何控件的默认外观。
随着Silverlight的全部改变。现在,每个控件都使用templates和styles进行了有效蒙皮,并且对如何自定义它们的限制很少。有太多的链接,所以我只是为你抓了一对。
为自己准备一本关于Silverlight的好书并学习使用它的正确方法(不是围绕它)。 This one是我的最爱之一。
如果你有特定的事情要做,那么对于用户控件的外观,最好列出那些,并找出最好的方法 Silverlight方式。 :)
答案 1 :(得分:0)
您尚未指定要执行的操作。如果您只是想知道何时渲染帧,CompositionTarget.Rendering
Event会告诉您。如果你真的想在正在渲染的帧上绘制,你就不能这样做。
答案 2 :(得分:0)
是LayoutUpdated。 如:
...
this.LayoutUpdated += new EventHandler(LayoutUpdated);
}
void LayoutUpdated(object sender, EventArgs e)
{}