WinRT XAML ToolkitのVisualTreeDebuggerクラスは、無料のツールが必要な場合に使用できるクラスです。XAML Spyほどの効果はありませんが、料金を支払うだけで済みます。デバッグ対象の実際の視覚化のように、さらに機能を追加することを考えましたが、必要な作業は時間の投資を正当化するものではありません+KoenZwikstraの芝生を踏みたくありませんでした。彼はそのツールで素晴らしい仕事をしていると確信しています。とにかく-VisualTreeDebuggerで十分なので、おそらくそれでも十分でしょう。
これを使用する方法は、クラスをコードに追加し、XAMLに次のような参照を追加することです。
xmlns:debug="WinRTXamlToolkit.Debugging"
次に、デバッグを開始するコントロールにフックを配置します。
debug:VisualTreeDebugger.BreakOnLoaded="True"
これにより、コアビジュアルツリーの詳細がデバッガー出力ウィンドウ(Ctrl + W、O)にテキストとしてダンプされ、ツリーをダンプしたコードが中断されます。ここで、すべてのビジュアルツリー要素のリストを含む「パス」変数を調べることができます。デバッグされたコントロールからルートまで、必要なものが出力ウィンドウにまだダンプされていない場合は、それらの値を監視できます。
その他のオプションは次のとおりです
debug:VisualTreeDebugger.BreakOnTap="True"
debug:VisualTreeDebugger.BreakOnLayoutUpdated="True"
debug:VisualTreeDebugger.BreakOnLoaded="True"
debug:VisualTreeDebugger.TraceOnTap="True"
debug:VisualTreeDebugger.TraceOnLayoutUpdated="True"
debug:VisualTreeDebugger.TraceOnLoaded="True"
これはソースコードであり、実際には単一の単純なクラスであるため、コードに追加のものを簡単に追加して、必要なカスタムデバッグを実行できます。