1

在被告知本機ComboBox不是要走的路之後,我被告知要查看Silverlight工具包ListPicker。所以我做了,並且遇到了問題。Microsoft.Phone.Controls.Toolkit ListPicker引發XamlParseException

我打開了一個新項目,並將一個新的ListPicker拖到MainPage上。該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

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

+0

請確保您的頁面聲明包含「toolkit」命名空間 – Julien 2012-04-14 17:26:41

+0

是的,它沒有它'xmlns:toolkit =「clr-namespace:Microsoft.Phone.Controls; assembly = Microsoft.Phone.Controls.Toolkit」'它不會編譯。 – anothershrubery 2012-04-14 17:28:38

+0

你可以將它綁定到代碼隱藏的數據嗎? – 2012-04-14 19:20:53

回答

0

的問題是錯誤的DLL文件進行了登記,即7,而不是7.1。我必須卸載並重新安裝,才能正確更新,並且工作正常。

1

ListPickerItem是由ListPicker內部使用的類,不應直接使用。

如果你只是想添加的項目列表,你可以使用字符串來做到這一點,就像這樣:

添加一個新的命名空間在頁面的頂部訪問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> 
+0

我嘗試過使用'String',但它沒有工作,實際上問題是我以前安裝了7.1 SDK但DLL沒有正確註冊,他們仍然是7個DLL。我嘗試再次更新,仍然是錯誤的dll。所以我完全卸載並重新安裝,更新並獲得了正確的dll。在此之後'ListPickerItem'工作。但爲了方便起見,我總是使用'String'。 – anothershrubery 2012-04-17 08:27:56