在呈现自定义控件时,不会调用OnApplyTemplate方法

时间:2011-07-13 17:40:09

标签: c# silverlight xaml windows-phone-7 custom-controls

我为Windows Phone 7制作了自定义控件。

如果我在XAML代码中使用此控件,它将显示在设计器和模拟器中。

但是,如果我使用C#代码创建并在WriteableBitmap中呈现它,则WriteableBitmap中不会显示任何内容,也不会调用OnApplyTemplate。

我尝试调用ApplyTemplate方法和Measure and Arrange方法,但它们都不能使控件呈现。

那么在WriteableBitmap中使自定义控件可渲染的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:3)

在应用WPF模板(包括Silverlight)之前,必须将对象添加到可视树中。如果对象不在可视树中,则调用ApplyTemplate将会失败。因此,为了使其正确渲染,将其添加到可视树中,然后您可以调用ApplyTemplate / UpdateLayout /等并使其正确渲染。