6

実行時に ControlTemplate を定義したいと思います。これは可能ですか?ControlTemplate クラスの VisualTree プロパティに気付きました。また、FrameworkElementFactory クラスを使用していることにも気付きました。しかし、私はそれを機能させることができないようです。

実行時に ControlTemplate を作成することは可能ですか?

4

2 に答える 2

9

はい、FrameworkElementFactory を使用してこれを行うことができます。Charles Petzold は、「Applications = Code + Markup」の第 11 章でこれについて説明していますが、基本的な考え方は、テンプレート ルート要素の FrameworkElementFactory (および子要素のさらなるファクトリ) を作成し、ControlTemplate を作成して、 ControlTemplate の VisualTree プロパティを FrameworkElementFactory に:

FrameworkElementFactory borderFactory = new FrameworkElementFactory(typeof(Border));
// set properties and create children of borderFactory
ControlTemplate template = new ControlTemplate();
template.VisualTree = borderFactory;

myButtonInstance.Template = template;
于 2009-04-09T04:24:17.707 に答える
-2

WPF コントロール クラスには、実行時に設定できる「テンプレート」プロパティがあります。

于 2009-04-09T04:23:07.053 に答える