0

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

以前在写C++的时候,发现用OnPaint事件自定义一个类在屏幕上的显示很容易?

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

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

4

3 回答 3

2

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

有了 Silverlight,一切都变了。现在,每个控件都使用模板样式有效地进行了蒙皮,并且对如何自定义它们几乎没有限制。链接太多了,所以我只是为你抓了几个。

给自己买一本关于 Silverlight 的好书,并学习使用它的正确方法(而不是围绕它)。是我的最爱之一。

如果您要尝试执行特定的操作,对于用户控件的外观,最好将其列出,并找出使用 Silverlight 方式的最佳方法。:)

于 2011-08-01T19:07:37.297 回答
0

你还没有指定你想要做什么。如果您只想知道何时渲染帧,CompositionTarget.Rendering事件会告诉您。如果您确实想在正在渲染的帧上绘图,则不能这样做。

于 2011-08-01T18:39:38.777 回答
0

它是 LayoutUpdated。如:

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

}

  void LayoutUpdated(object sender, EventArgs e)
{}
于 2011-08-02T00:01:17.893 回答