2011-12-21 3 views
8

CSSを使用してウェブページ上にレイアウトを描画するときに、数十のファイルに分散された数十のルールがあり、要素が実際にどのように表示されるかに影響する可能性があります。どのような理由でDOMエクスプローラは非常に重要なツールです - 私は、ブラウザ上の要素を選択し、それにCSSルールが適用されているかを正確に確認することができます。DOMエクスプローラに相当するWPFはありますか?

WPFでは、スタイルやテンプレート、コードビハインドから注入されたインライン属性や設定など、さまざまなルールがあります。これは、ある要素がどのように表示されるかを決定するために相互作用する可能性があります。

ComboBoxなどの要素を見て、それがなぜ私が思うように3倍の高さで描いているのかをすぐに判断する方法はありますか?個人的に

答えて

6

、私はスヌープを使用しています。私はモールに慣れていないが、それは無料ではないが、それは "より良い"(主観的)と聞いた。ただし、メインウィンドウではないウィンドウを作成した場合、Ctrl + Shift + MouseOver(現在のビジュアルコントロールを実際にターゲットにしている)を実行してスヌープをターゲットにすることができます。これはしばらく私を把握し、それが非常に便利であることを知っていました!

+0

これは、ツリーと各要素の属性を参照できるようにしています。しかし、それはそれぞれの属性のソースを見つけることで私を助けてくれません。たとえば、ComboBoxのActualHeightが40、RenderSizeが200,40であることがわかりますが、ActualHeightが40である理由はわかりません。 –

+0

@Jeff Dege:Value Sourceまた、プロパティ上で右クリックして[Delve]を選択することもできます。私は本当に問題が何であるかを述べることはできませんが、これらの2つのツールは必要なものです。しかし、コードを投稿して別の質問で助けを求めても構いません。 –

0

私が時折使用する無料ツールは、Snoopです。単純なものには適していますが、複雑なものにはクラッシュする可能性があります。

0

WPFビジュアルの位置/サイズのレイアウトは、CSSのような宣言的なルールセットによっては計算されません。 WPFレイアウトは命令コードを使用して行われるため、開始XAMLまたはその結果のビジュアルツリーを見て、どのように達成されたかを知ることはできません。

StackPanelなどのコンテナコントロールでは、命令コードを使用して、予想される積み重ね方法で子をレイアウトします。私たちはそれがどのように動作するか知っているので、これは事前に知ることは容易だと考えるのは簡単です。しかし、レイアウトコントロールを完全にランダムに決めるカスタムコントロールを作成するとどうなりますか?どのように最終結果が達成されたかを示すことはできません。

関連する問題