检查Windows 8应用商店应用程序/VS2012中的XAML

检查Windows 8应用商店应用程序/VS2012中的XAML,xaml,windows-8,windows-runtime,windows-store-apps,winrt-xaml,Xaml,Windows 8,Windows Runtime,Windows Store Apps,Winrt Xaml,我正在寻找一种方法来检查Windows8应用商店应用程序中运行的XAML。本质上,我想要firebug/chrome inspector风格的功能,在这里我可以查看运行时生成的XAML源代码,以调试简单的布局和风格问题 我试过Snoop、开心果和WPF Inspector,但都不适用于Windows应用商店应用程序。我能找到的唯一一个似乎适用于商店应用程序的是XAML Spy,售价90欧元。我无法证明那个费用是合理的 是否有其他方法检查正在运行的XAML XAML Spy是您所需要的。您可以在以

我正在寻找一种方法来检查Windows8应用商店应用程序中运行的XAML。本质上,我想要firebug/chrome inspector风格的功能,在这里我可以查看运行时生成的XAML源代码,以调试简单的布局和风格问题

我试过Snoop、开心果和WPF Inspector,但都不适用于Windows应用商店应用程序。我能找到的唯一一个似乎适用于商店应用程序的是XAML Spy,售价90欧元。我无法证明那个费用是合理的


是否有其他方法检查正在运行的XAML

XAML Spy是您所需要的。您可以在以下位置找到它。

如果您想要一个免费工具,可以使用WinRT XAML Toolkit中的类。它没有XAML Spy做的那么多,但是你可以得到你所付出的。我想给它添加更多的功能,比如对调试内容的实际可视化,但所需的工作不足以证明时间投入的合理性+我不想踏入Koen Zwikstra的地盘。我相信他在那工具上做得很好。无论如何,VisualTreeDebugger对我来说已经足够了,所以也许对你来说也足够了

使用它的方法是将类添加到代码中,在XAML中添加引用,如

xmlns:debug="WinRTXamlToolkit.Debugging"
然后在您希望开始调试的控件上放置一个钩子,如

debug:VisualTreeDebugger.BreakOnLoaded="True"
它将在调试器输出窗口(Ctrl+W,O)中以文本形式转储核心可视化树详细信息,并打断转储树的代码,您可以在其中调查“path”变量,该变量包含从调试控件到根目录的所有可视化树元素的列表,因此,如果您需要的内容尚未转储到输出窗口中,您可以查看它们的值

其他选择包括

debug:VisualTreeDebugger.BreakOnTap="True"
debug:VisualTreeDebugger.BreakOnLayoutUpdated="True"
debug:VisualTreeDebugger.BreakOnLoaded="True"
debug:VisualTreeDebugger.TraceOnTap="True"
debug:VisualTreeDebugger.TraceOnLayoutUpdated="True"
debug:VisualTreeDebugger.TraceOnLoaded="True"

由于它是源代码,实际上是一个简单的类,因此您可以轻松地向代码中添加其他内容,以执行所需的任何自定义调试。

WinRT XAML Toolkit现在有一个实际的可视化-可视化树调试器

从NuGet:NuGet.org/packages/winrtxamltoolkit.debuging获取它,然后调用
winrtxamltoolkit.debuging.DC.ShowVisualTree()
在应用程序内部显示调试器工具。这是第三个选项,所以现在您可以使用

  • WinRTXAMLToolkit.debug.VisualTreeDebugger
    类-使您能够在Visual Studio中调试树
  • XAML Spy-这是一个伟大的商业可视化树调试器,在单独的窗口中运行
  • 现在,WinRT XAML工具包中的这个可视化树调试器可以在应用程序内部工作

有一个新的免费工具称为XAML Inspector。它可以通过NuGet获得。只需搜索“XamInspector”或从项目页面获取if:

问候
Christian

XAML Spy是我找到的唯一一个你读过这个问题了吗?我确实提到了XAML Spy的名字,我说我不能证明成本是合理的。对不起,错过了这一部分。还没有找到任何其他工具可以为您提供有关Windows应用商店的信息。我相信你可以得到免费试用。另一方面,XAML间谍确实是你所需要的。我也没有听说过WinRT的其他任何东西,除非你可以只使用文本转储和挂钩到可视化树-然后你可以使用WinRT XAML工具包…而且XAML Spy有一个试用期,如果它是一次性的,你可以使用:)谢谢你的提示!谢谢经过3个月的WinRT开发,我意识到通过反复试验来调整XAML是在浪费大量时间,我需要一个好的XAML检查器。通过长期的经验,我了解到,对于任何小价格来说,直接购买商业产品都是最安全的。它们工作得更好,安装得更好,并且得到了维护。所以,我得到了XAML间谍,它做了我想要的一切,还有更多。它与WinRT运行得非常好。在一天之内,它已经通过帮助我解决一个困难的用户界面问题而获得了回报。它公开了我甚至不知道的XAML树的某些部分。我认为这是最好的,因为XAML Inspector要到明年才可用(我们不确定它是否仍然免费)。一个小问题是他们没有签署调试程序集!因此,您必须禁用项目的签名才能使用它。有人已经提出了一个问题,请去投票表决,以便引起注意/修复:我已经修改了调试库,使用Nuget软件包发行版1.5.3.8构建为发行版。检查一下这是否适合你。