2013-07-30 8 views
6

そのオブジェクト(それらの値と共にその特性)を視覚化し、(それをダンプ - シリアライゼーションと同様に)それを印刷することができる検査するようなツリービューまたはPropertyGridのように、WPFコントロールにオブジェクト?視覚化オブジェクトのプロパティ

目標は、(デバッグ目的だけではなく)任意arbitaryオブジェクトの内容を表示することです。さらに明確にするため

:私は、任意のデバッグツールやWPFビジュアルツリーを表示する方法を探していませんよ。この質問は、WPFとの関係が部分的にしかありません。 - WPFは、WPFとWinFormsでコントロールが異なる可能性があるため、オブジェクトダンプを表示するメディアです。

出力は、ネストされたオブジェクトインスタンスの階層である必要があり、リストなど

Object Visualization

+0

可能な複製http://stackoverflow.com/q/38642/1817791 – makc

+0

プロパティグリッドのWPFバージョンをお探しですか? –

答えて

2

私はあなたが探しているものと考えている私は、あなたがスヌープを見てみるべきだと思いSystem.Diagnostics.DebuggerDisplayAttribute

+1

これは、オブジェクトの内容を1行にまとめるのに便利ですが、一般的に階層ビューを作成するには非常に貧弱です。私はビジュアライザーのラインに沿った何かがより適切なデバッグツールだと思っています – JaredPar

+0

残念ながら、それは私の質問とは関係ありません。私は正確に何が欲しいかについて精緻化することは不明であった - 私の編集を見てください。 :) – Atrotygma

5

ある

このプログラムでは、実行中のアプリケーションのWPFツリーを操作できます。このツールではデバッグは必要ありません。デバッグではツールが動作しない可能性があります。通常、私はあなたがWPFツリー・ビジュアライザ以外にも意味の様々な性質

+2

スヌープは優れたツールです。 – dkackman

+0

@dkackmanはスマートな男です。 – cplotts

+0

残念ながら、それは私の質問とは関係ありません。私は正確に何が欲しいかについて精緻化することは不明であった - 私の編集を見てください。 :) – Atrotygma

2

のための私のWPFコントロールが実際にレイアウトされているかを確認するために、非デバッグシナリオでそれを使用するとどのような値彼らが持っていますか? Moleがあります。これはもはや無料ではありませんが、非常に良いです。

編集:

編集した質問を読む。あなたは明示的にPropertyGridの名前をつけていますが、私はすでにそれを試してみましたExtended WPF Toolkit's PropertyGrid

+0

残念ながら、それは私の質問とは関係ありません。私は正確に何が欲しいかについて精緻化することは不明であった - 私の編集を見てください。 :) – Atrotygma

+0

私の答えを編集し、あなたが探しているものかどうかを確認してください。 –

0

だからあなたはクラスのフィールドを、実行時に表示するコントロールをしたいです。あなたは "プロパティグリッド"を探して、それに関する多くの記事を見つけるでしょう。それはあなたが望むものではなく、その始まりです。基本的には、クラスのフィールドをリフレクションして繰り返し、ListView/TreeViewに表示します。しかし、これは困難な部分が始まり、どのフィールドを表示するか、どのフィールドを隠すか、非常に異なるタイプとプリミティブを扱い、型変換(文字列、Rect、ポイント、カラーなど)で編集できるようにすることです複雑な問題。 This controlは良い出発点になるかもしれません。

0

プロパティグリッドとしてプロパティを表示できるさまざまな既存のコントロールがあります。彼らは存在し複雑さ、ライセンスや特徴に基づいて

http://www.codeproject.com/Articles/87715/Native-WPF-4-PropertyGrid

https://wpftoolkit.codeplex.com/wikipage?title=PropertyGrid

https://wpg.codeplex.com/

、あなたはそれらのすべてが確かに自由である、いずれかを選択する必要があります。

0

私は数ヶ月のためにこの答えを探してきました。スヌープ、スパイ、そして他のすべてのスレッドは、スレッドの所有権違反のために私のために働いていませんでした。

MicrosoftはUIエレメントを実行しているいずれかを選択し、要素のアクセシビリティデータを表示することができますウィンドウ・ツールがあります。

inspect.exe 

https://msdn.microsoft.com/en-us/library/dd318521(VS.85).aspx

それはする必要がWindowsソフトウェア開発キットで利用可能ですダウンロードしてインストールし、次の場所にあります。