【发布时间】:2013-08-28 16:24:57
【问题描述】:
我尝试为我的 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和使用两种方式绑定是不可能的吗?如果我同时设置这两个,我会得到System.ArgumentOutOfRangeException。
基本上,我唯一的目标是让 listPicker 带有项目,其中包含要为用户和价值显示的文本。并轻松设置这些并将其存储到 Isolates 存储中。
【问题讨论】:
标签: c# data-binding windows-phone-8 listpicker