c# - 呈现自定义控件时不会调用 OnApplyTemplate 方法

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

我做了一个windows phone 7的自定义控件。

如果我在 XAML 代码中使用此控件,它会同时出现在设计器和模拟器中。

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

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

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

谢谢。

最佳答案

在应用 WPF 模板(包括 Silverlight)之前,必须将一个对象添加到可视化树中。如果对象不在可视化树中,调用 ApplyTemplate 将简单地失败。因此,要使其正确呈现,请将其添加到可视化树中,然后您可以调用 ApplyTemplate/UpdateLayout 等并使其正确呈现。

关于c# - 呈现自定义控件时不会调用 OnApplyTemplate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683164/

相关文章:

c# - 子窗体关闭后更新 DataGridView

c# - 如何初始化结构数组?

silverlight - Silverlight MVVM业务应用程序: Where to place the resource files?

c# - 使用 AudioPlayerAgent 时禁用通用音量控制 (uvc) 中的下一个/上一个按钮

c# - Silverlight F# 库和 WCF

wpf - 有什么方法可以暂时分离 WPF 中的绑定(bind)吗?

c# - 在 XAML 中显示过时/弃用的类用法

c# - 如何以编程方式为所有控件设置 ErrorProvider Icon

wpf - XAML 中绑定(bind)路径属性的串联

c# - 用户代码未处理 NullRefrenceException