2011-06-24 2 views
1

DocumentViewerコントロールから印刷ボタンを取得して、別のコントロール用に画像を使用できるようにしようとしています。.netコントロールで使用されるWPF抽出グラフィック

私はちょうどスクリーンショットと少しの編集でボタンをキャプチャし、ソースとして抽出されたイメージを使用することができます知っている。

既存の参照画像を使用する方がはるかに効率的です。

答えて

1

Peter Bloisのsnoop.exeを実行します。マウスオーバー機能を使用して、必要なグラフィックが含まれているコントロールのプロパティを取得し、必要な実際のイメージが見つかるまでスヌープでビジュアルツリーを展開します。そのプロパティを調べ、イメージのソースURIを探します。これにより、ロードするアセンブリとリソース名がわかります。同じソースURIを使用して、自分でイメージを抽出して保存することができます(たとえば、Like this)。

編集:この場合はイメージではありません。 Snoopを使って要素のx:Nameを取得すると、私はPrintButtonを取得するまでビジュアルツリーを歩き、デバッガで調べました。 DrawingBrushを19個の別々の図面で使用して、プリンタアイコンの解像度を独立させます。 XamlWriterを使用してButtonの背景(DrawingBrush)を保存し、DrawingBrushを自分で使用することで、そのままコピーすることができます。

+0

私はそれらのイメージに私は値が "System.Windows.Media.DrawingBrush"であり、ソースが "ParentTemplate"であることを望みます。これは、コントロールが画像を生成することを意味しますか? – Threekill

+0

私はそれが有効な画像URIソースであるとは思わない。あなたは実際のイメージを探しています - ビジュアルツリーに(イメージ)が必要です。 Sourceは次のようになります。pack:// application:,,,/Microsoft.SomeNameSpace; component/Images/whatever.png –

+0

DocumentViewerのToolBarPanelを使用しているようです。私がソースイメージを見つけることができるかどうかを見てみましょう、私に数分を与えてください。 –

関連する問題