Silverlight调试,没有列表元素视图

时间:2010-04-22 12:58:44

标签: .net silverlight

当我调试我的Silverlight应用程序并且我在内部使用列表时,我不能将鼠标悬停在列表上并查看列表中的项目。我只看到列表的RAW视图。

如果我想查看这些项目,我必须编写自己的代码,这是繁琐的。这对Silverlight来说是正常的吗?

在普通的Console / WPF / ...应用程序中调试时,我有正确的列表视图。

示例:Silverlight(e.ResultDictionary<DateTime, decimal>): silverlight http://i39.tinypic.com/sq5ydh.png(链接:click

在第一个示例中查看没有'列表视图?

在这一篇中,非Silverlight:non silverlight http://i43.tinypic.com/2nhq4vt.png(链接:click

系统是Windows 7 64位,包含Visual Studio 2010和Silverlight 4 SDK RC2。

3 个答案:

答案 0 :(得分:1)

Silverlight的词典&lt;&gt; class具有[DebuggerTypeProxy]属性,但它在工具集的当前版本中不起作用。在this thread中也提到过。同样的建议,报告connect.microsoft.com上的错误,以便他们了解它,希望它将在工具的官方RTM版本中得到修复。

答案 1 :(得分:1)

有一种解决方法可以在调试器中转储字典的内容。

  1. 在项目中添加对linq dll的引用(例如System.Core)

  2. 将以下语句添加到源文件中:

    使用System.Linq;

  3. 在观察窗口中,键入:

    dic.Take(21)

  4. 然后展开“结果视图”组行。这应该为您提供熟悉的键值对列表。

  5. [这个解决方法由rickpastoor在connect.microsoft.com上报告错误557741]

答案 2 :(得分:0)

alt text http://img169.imageshack.us/img169/3142/screen1fc.png

我尝试将Dictionary从WCF发送到Silverlight,我可以在调试器中看到数据。所以它也适合你。也许你的代码有什么意义?

您使用的是什么“日期”课程?请像我一样尝试DateTime。

Heres'我的服务器端代码:

public Dictionary<DateTime, decimal> GetDataUsingDataContract()
{
    Dictionary<DateTime, decimal> x = new Dictionary<DateTime, decimal>();
    x[DateTime.Now] = 2;
    x[DateTime.Now.AddDays(2)] = 3;
    return x;
}