ListPicker双向绑定和itemssource

时间:2013-08-28 16:24:58

标签: c# data-binding windows-phone-8 listpicker

我尝试将设置页面构建到我的Windows Phone 8应用程序,设置页面有几个ListPickers。基本想法来自这里:http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769510(v=vs.105).aspx

在我的设置页面xaml中,我刚刚声明:

<toolkit:ListPicker x:Name="listPicker1" ExpansionMode="FullScreenOnly" SelectionMode="Single" FullModeItemTemplate="{StaticResource generalListPickerFullTemplate}" ItemTemplate="{StaticResource generalListPickerTemplate}" SelectedItem="{Binding Source={StaticResource appSettings}, Path=listPicker1, Mode=TwoWay}" />

在“后面的代码”中,我创建了列表并将其项目源设置为listPicker1

listPicker1List.Add(new ListPickerItem() { name = "First value", value = "value_1" });
listPicker1List.Add(new ListPickerItem() { name = "Second value", value = "value_2" });
this.listPicker1.ItemsSource = listPicker1List;

StaticResource appSettings指向类,与MS示例中的基本相似,

public ListPickerItem listPicker1
{
    get
    {
        return GetValueOrDefault<ListPickerItem>(KeyName, Default);
    }

    set
    {
        if (AddOrUpdateValue(KeyName, value))
        {
            Save();
        }
    }
}

那么设置itemsource并使用双向bindig是不可能的?如果我同时设置这两者,我会得到System.ArgumentOutOfRangeException

基本上我的唯一目标是让listPicker包含项目,其中包含要为用户和值显示的文本。并轻松设置并获取隔离存储。

1 个答案:

答案 0 :(得分:0)

设置itemsource或选择项目时会出现此错误吗?