【问题标题】:Microsoft.Phone.Controls.Toolkit ListPicker throws XamlParseExceptionMicrosoft.Phone.Controls.Toolkit ListPicker 引发 XamlParseException
【发布时间】:2012-04-14 17:23:06
【问题描述】:

在被告知本机 ComboBox 不是最佳选择后,我被告知查看 Silverlight 工具包 ListPicker。所以我确实遇到了问题。

我打开了一个新项目并将一个新的ListPicker 拉到主页面上。 ListPicker 看起来像:

<toolkit:ListPicker x:Name="Result">
    <toolkit:ListPickerItem Content="Win" />
    <toolkit:ListPickerItem Content="Place" />
    <toolkit:ListPickerItem Content="Lose" />
</toolkit:ListPicker>

当尝试运行它时,我得到一个 XamlParseExceptionInvalidProgramException 的 InnerException。我所做的只是拖动控件,然后添加一些ListPickerItem。删除项目仍然会导致错误,完全删除ListPicker 控件允许页面显示没有错误。

我确定我错过了什么,但我阅读的任何文档似乎都表明这个标记很好,包括 http://windowsphonegeek.com/articles/listpicker-for-wp7-in-depth

我可以提供所需的任何其他信息。

【问题讨论】:

  • 确保您的页面声明包含“工具包”命名空间
  • 是的 xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 没有它,它不会编译。
  • 你能把它绑定到来自代码隐藏的数据吗?

标签: windows-phone-7 xaml silverlight-toolkit xamlparseexception listpicker


【解决方案1】:

ListPickerItemListPicker 内部使用的类,不应直接使用。

如果你只是想添加一个项目列表,你可以使用字符串来做,像这样:

在页面顶部添加一个新的命名空间以访问String 类:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

然后,只需将ListPicker 代码更改为:

<toolkit:ListPicker>
    <sys:String>Win</sys:String>
    <sys:String>Place</sys:String>
    <sys:String>Lose</sys:String>
</toolkit:ListPicker>

【讨论】:

  • 我尝试使用String,但它不起作用,实际上问题是我之前安装了7.1 SDK但DLL没有正确注册,它们仍然是7个dll。我再次尝试更新,但仍然是错误的 dll。所以我完全卸载并重新安装、更新并获得了正确的 dll。在此之后ListPickerItem 工作。但为了方便起见,我还是使用了String
【解决方案2】:

问题是注册了错误的 dll,即 7 而不是 7.1。我必须卸载并重新安装才能正确更新它并且它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2011-07-16
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多