46

このMSDNリンクによると、

コントロールのビジュアル ツリーの一部だけを置き換える方法はありません。コントロールのビジュアル ツリーを変更するには、コントロールの Template プロパティを新しい完全な ControlTemplate に設定する必要があります。

.

GridViewColumnHeader のクリック動作を無効にしようとしています (元のコントロール テンプレートでいくつかのトリガーを削除する必要があります) が、ネイティブの "ColumnHeaderContainerStyle" を見つけることができません。私が見つけたものはすべて、すでにいくつかのカスタマイズを行っているようで、元のルック アンド フィールを得るのは困難です。

ネイティブの WPF コントロールで定義されている元のコントロール テンプレートをどこでどのように取得できますか?

ご関心をお寄せいただきありがとうございます。

4

6 に答える 6

27

Visual Studio 2015 (少なくとも) では、XAML デザイナーでコントロールを右クリックし、[スタイルの編集] -> [コピーの編集] を選択して、コントロールの既定のテンプレートを表示および編集できます。Blend を開いたり、スタイル ビューアーをダウンロードしたり、Web を検索したりするよりもはるかに簡単です。

于 2016-08-10T13:38:02.080 に答える
21

すべてのテーマのテンプレートはMicrosoft Docsにあります。

さらに、アセンブリからスタイルを読み取ることができるツールがいくつかあります。
たとえば、Style Snooperを使用できます。
ただし、シナリオ (組み込みのテンプレートを取得する) では、上記のドキュメント リンクが最も簡単なはずです。

于 2010-08-23T14:28:54.123 に答える
14

Google経由でこの質問に数回たどり着きましたが、必要なリンクが表示されなかったので、ここにあります...


これらのリンクには、各フレームワーク コントロールに関する次の情報があります。

  • 名前付きテンプレート パーツ
  • 視覚的な状態
  • 完全な XAML 既定のコントロール テンプレートとリソース
于 2012-11-30T07:57:22.883 に答える