1

Silverlight アプリケーションを Metro に移植しようとしていますが、ControlTemplate 設定内でバインドが機能して{Binding PropertyName, RelativeSource={RelativeSource TemplatedParent}}いないように見えますが、機能することがわかりました{TemplateBinding PropertyName}

これらは両方とも私の Silverlight アプリケーション内で機能しますが、RelativeSource 構文を使用してMode=TwoWay.

ControlTemplate 内で TwoWay バインディングを使用するにはどうすればよいですか?

4

1 に答える 1

2

独自のコントロールを構築している場合 - テンプレート パーツを定義し、OnApplyTemplate() オーバーライドで GetTemplateChild() を呼び出すことでそれらを取得できます - その後、バインディングに頼るのではなく、プロパティを手動で更新するだけです。既存のコントロールを再テンプレート化するだけの場合は、最初にそれらをサブクラス化するか、バインディングを処理する添付の依存関係プロパティ/動作を作成できます。

于 2012-05-02T20:12:31.437 に答える