Silverlight 4.0 Windows Phone 7中调试UI错误的提示

Silverlight 4.0 Windows Phone 7中调试UI错误的提示,silverlight-4.0,windows-phone-7,Silverlight 4.0,Windows Phone 7,我有一个WindowsPhone7应用程序,我经常看到“奇怪的”用户界面故障,这让我花了很多时间去调试。这是一系列的问题,比如控件似乎有额外的边距,滚动条没有出现,动画看起来非常流畅,整个页面向下滚动,组合框项目偏移,等等 我很高兴承认可能是我,但是如何调试这样的UI错误呢?我知道电脑Silverlight应用程序中有Silverlight Spy。Windows Phone 7有类似的功能吗 非常感谢任何调试技巧。以下是我通常会做的几件事。。。他们中没有一个是真正聪明的,但还是分享 在每添加2

我有一个WindowsPhone7应用程序,我经常看到“奇怪的”用户界面故障,这让我花了很多时间去调试。这是一系列的问题,比如控件似乎有额外的边距,滚动条没有出现,动画看起来非常流畅,整个页面向下滚动,组合框项目偏移,等等

我很高兴承认可能是我,但是如何调试这样的UI错误呢?我知道电脑Silverlight应用程序中有Silverlight Spy。Windows Phone 7有类似的功能吗


非常感谢任何调试技巧。

以下是我通常会做的几件事。。。他们中没有一个是真正聪明的,但还是分享

  • 在每添加2-3个控件后部署一次,并确保布局正确
  • 如果碰巧它没有按我期望的方式工作,我有一个并行的Silverlight 3项目正在运行,我通常会粘贴XAML,看看它是否工作正常
  • 之后,我通常将其作为Silverlight项目进行检查,因为即使是我也不确定Win Phone 7是否有可用的工具


    我喜欢这个问题,希望有人能给我们指出一些更有趣的问题。

    我发现从项目的第一天开始就采用版本控制系统是个好主意,要编辑XAML,请使用Expression Blend。VisualStudio非常适合编写代码,但是,为了利用这些工具的真正威力,Expression Blend是为应用程序设计样式的最佳工具

    嗯,,
    indyfromoz

    按照Indy的建议,你可以用Blend结帐。这真是个好建议

    关于你的一些具体问题,这些不一定是小故障。我将评论一对与众不同的夫妇

    额外的裕度-这和填充是内置在地铁控制的设计。同样,在blend中,您可以通过重新模板控件和更改控件中对象的属性来深入了解这一点

    执行此操作的步骤是单击控件,编辑模板,编辑副本。然后,您可以查看不同的状态和对象,并根据需要进行更改。进行此操作时,请记住和

    关于滚动条,在您开始滚动之前,这些滚动条在设计上是隐藏的。您可以通过相关控件(或嵌入在某些控件中的ScrollViewer-再次在blend中重新模板)上的水平/垂直ScrollBarVisibility来控制其可用性

    Combobox不是metro主题的,所以在试穿部门会遇到困难,但有一些帖子是人们在这方面做过的。ListPicker是随RTM工具发布的Windows Phone Toolkit中一个更适合imo的工具。

    以下是一些技巧:

  • 由于图形卡的原因,许多人对emulator有问题
  • 像缓慢的动画和ui故障这样的事情很常见

    检查您的图形卡是否至少为Direct X 10.1,以及您的驱动程序是否正确

    型号为WDDM 1.1

    确保你有最新的驱动程序

  • Windows7的仿真器问题比Vista少

  • 确保您拥有最新的工具,从网站获取RTM版本

  • 在RTM版本中,默认情况下,帧速率计数器显示在左侧的竖条中,您应该监视这些计数器以检查性能问题


  • 如果你看不到代码中出现问题的任何明显原因,我建议你的第一件事就是在真正的设备上测试你的应用程序。有些东西——特别是动画对象——在设备上运行时看起来并不总是完全相同

    我以为我的一个应用程序中出现了动画故障,但它只出现在模拟器中。当我在实际设备上运行时,我看不到它

    当然,如果你还不能让一部手机测试它,这对你没有帮助,但是在你可能浪费数小时试图调试一个问题之前,你可能没有,我会处理应用程序的其余部分,直到你可以在真实的手机上测试应用程序为止


    这同样适用于任何创建动画的人-不要浪费时间在模拟器中完善动画。在实际设备上,计时几乎肯定会有所不同,所以请等到有一台设备可供测试。

    我不知道存在这种情况,谢谢您指出。这很好,因为它是基本控件的备忘单,易于复制和粘贴。谢谢有趣。我假设模拟器与真实设备非常匹配。当然,如果我自己没有设备,这完全是毫无根据的信任。关于设备与仿真器,还有什么需要注意的吗?