【发布时间】:2013-10-14 23:21:35
【问题描述】:
背景
我知道使用 FindResource 方法获取资源在从控件的构造函数完成时将不起作用,因为它总是返回 null。
public class MyButton : Button
{
public MyButton()
{
Style = FindResource("myStyle") as Style;
}
}
我知道可以通过OnApplyTemplate方法完成。
public override void OnApplyTemplate()
{
Style = FindResource("myStyle") as Style;
base.OnApplyTemplate();
}
问题
为什么?我认为这与 VisualTree 的加载有关,但我希望从您的 WPF 专家那里获得更详细和准确的答案(或者只是一个正确的答案,以防我完全离开这里)。
【问题讨论】: