我尝试为我的 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;
StaticResourceappSettings
指向的类与 MS 示例中的基本相似,
public ListPickerItem listPicker1
{
get
{
return GetValueOrDefault<ListPickerItem>(KeyName, Default);
}
set
{
if (AddOrUpdateValue(KeyName, value))
{
Save();
}
}
}
那么不能设置itemsource并使用两种方式绑定吗?如果我同时设置这两个,我得到System.ArgumentOutOfRangeException
.
基本上,我唯一的目标是让 listPicker 带有项目,其中包含要为用户和价值显示的文本。并轻松设置和获取这些隔离存储。