Windows phone 7 使用ListPicker和数据绑定
嗯。我放弃了。 我想在我的一个Windows Phone应用程序中使用ListPicker控件。我收到一个异常,SelectedItem必须始终设置为有效值 这是我的XAML ListPicker:Windows phone 7 使用ListPicker和数据绑定,windows-phone-7,mvvm-light,listpicker,Windows Phone 7,Mvvm Light,Listpicker,嗯。我放弃了。 我想在我的一个Windows Phone应用程序中使用ListPicker控件。我收到一个异常,SelectedItem必须始终设置为有效值 这是我的XAML ListPicker: <toolkit:ListPicker x:Name="CategoryPicker" FullModeItemTemplate="{StaticResource CategoryPickerFul
<toolkit:ListPicker x:Name="CategoryPicker"
FullModeItemTemplate="{StaticResource CategoryPickerFullModeItemTemplate}"
Margin="12,0,0,0"
ItemsSource="{Binding CategoryList}"
SelectedItem="{Binding SelectedCategory, Mode=TwoWay}"
ExpansionMode="ExpansionAllowed"
FullModeHeader="Pick Categories"
CacheMode="BitmapCache"
Width="420"
HorizontalAlignment="Left" />
感谢你的帮助!!!也许我还不太了解ListPicker的用法。看看我对这个问题的回答:
简而言之,所选项目必须是包含在集合中的项目。您的getter正在将所选项目设置为新对象。此新对象不包含在集合中我希望SelectedCategory返回的对象是CategoryList集合中的一个对象。在您的示例中,您正在get中实例化它,因此情况绝对不是这样 如果CategoryList包含一些值,则可能会将_selectedCategory初始化为null,然后在get
if(_selectedCategory == null) {
_selectedCategory = CategoryList.First();
}
那是个打字错误。我从getter上删除了该行。还是一样的错误。我将查看你发布的链接。我在自己的应用程序中使用具有“相同”代码的列表选择器。我尝试添加与您没有FullModeItemTemplate的xaml相同的xaml(因为我不知道它是什么)。只有当所选项目不是集合中包含的项目时,才会出现错误。您可以让所选项目为空,但它不能是不在集合中的项目。非常感谢您的指导。加载屏幕时,我没有正确分配SelectedCategory。这引起了很多头痛。您的回答给了我一个视角,并引导我找到错误的正确方法!多谢。现在让我去把头撞在墙上!:)达米安,谢谢你的意见。您的回答也有助于在正确的位置初始化SelectedCategory属性。Shawn和你的回答都让我纠正了这个问题。具有讽刺意味的是,我不能把你的回答都记为答案。想想你自己也有标记。嗨,RajeavnAIR,你能分享你的答案吗?我也和你一样有问题
if(_selectedCategory == null) {
_selectedCategory = CategoryList.First();
}