質問

私はむしろ、押されたボタンのデフォルトの外観よりも、チェックを(たとえば)赤フォアグラウンドで表示されますToggleButtonを定義したい。

私は視覚的な状態がToggleButtonControlTemplate内部という名前の要素として維持されていることがわかります。

テンプレート全体を再定義しなくても視覚的な状態をカスタマイズ/削除/交換する最も簡単な方法は何ですか?

役に立ちましたか?

解決

私は、これは非常に遅れている実感が、私はちょうど自分自身を同じ問題に遭遇し、解決策を考え出したので、うまくいけば、これは誰かに有用であろう。

テンプレートが(最初の小節/表示サイクル後)制御に適用した後、

、あなたは単にVisualTreeHelper.GetChild (myToggleButton, 0)を使用してインスタンス化されたテンプレートとその子コンポーネントにアクセスすることができます - これは、インスタンス化されたテンプレートのビジュアルツリーのルートオブジェクトを返します、そこから、あなたはその子コレクションに子オブジェクトを変更/追加/削除することができます。

もちろん、あなたが唯一のの制御ではなく、テンプレートリソース自体ののインスタンスの表示状態を変更している、同じテンプレートから作成されたので、新しいコントロールがまだ元の外観を持つことになります。

このテーマに関する私のrealtedの質問はここにある:?どのように私は

他のヒント

唯一のあなたが必要なものに変化しますが、その後、独自のControlTemplateを作成しようとした標準にBasedOnパラメータを設定していますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top