バックグラウンド
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 の専門家から、より詳細で正確な回答 (または、ここで完全にオフになっている場合は正しい回答) を得たいと思っていました。