«

»

7月
10

[wpf]WPFコントローラのXAMLを調査する方法

WPFをベースとしたexeファイルやdllファイルにはリソースとしてxamlのコンパイル済みバイナリデータ(baml形式)が埋め込まれています。

各種ライブラリや標準のコントローラのデザインや機能をカスタマイズしたい時は、WPF Inspectorsnoopなどでビジュアルツリーを探って調査したりしますが、一部分だけカスタマイズしたいのにも関わらず、ある程度まとまった階層まで遡及してテンプレートを修正しなければならない場合など、手っ取り早くXAML形式そのものを取得したくなります。

このような場合は、baml形式のデータをxaml形式に変換できるソフトを仕様すると便利なようです。フリーで有用なものをさがしてみたところ、ILSpyというデコンパイラが良さそうでした。

ILSpy
http://ilspy.net/

例えば、WPFの標準のボタンのXAMLを取得したい場合は、
PresentationFramework.Aero.dll(テーマ毎にDLLがある。この場合はAero)
を開きます。 ファイル名.g.resources の形式でリソースがありますので、その配下のbamlを開きます。

すると、右ペインのテキストビューにXAMLが表示されるので、任意のリソースを利用する事ができます。

コメントを残す

メールアドレスは公開されません

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>