我目前正在尝试使用ListPicker
更新我应用的设置页面。
我一直在阅读并将其与我的IsolatedStorage相关联。但是,如果我选择一个选项,请使用我当前的代码,然后离开页面然后返回,SelectedIndex
设置已保存,但SelectedItem
不是。如果我对SelectedItem
使用与SelectedIndex
相同的代码,则会出错。
<toolkit:ListPicker x:Name="defaultPicker"
SelectedIndex="{Binding Source={StaticResource appSettings}, Path=LanguageSetting, Mode=TwoWay}"
Grid.Column="2" Grid.Row="5">
<toolkit:ListPickerItem Content="Cesky"/>
<toolkit:ListPickerItem Content="English"/>
<toolkit:ListPickerItem Content="Deutsch"/>
</toolkit:ListPicker>
如何在ListPicker
保存中选择选项,以便当用户离开后返回设置页面时,他们选择的上一个选项是否显示为显示的初始值?
提前致谢!
编辑:我已对代码进行了修改,因此我的ListPickerItem
现已成为数据绑定。但我仍然遇到同样的问题。
XAML
<DataTemplate x:Name="ListPickerItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FromClassTaxCode}" Margin="10 0 0 0"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Name="ListPickerFullModeItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FromClassTaxCode}" Margin="10 0 0 0"/>
</StackPanel>
</DataTemplate>
....
<StackPanel Grid.Column="1" Grid.Row="5">
<toolkit:ListPicker x:Name="listPicker"
ItemsSource="{Binding FromClassTaxCode}"
ItemTemplate="{StaticResource ListPickerItemTemplate}"
SelectedIndex="{Binding Source={StaticResource appSettings}, Path=TaxCodeLetterSetting, Mode=TwoWay}"
FullModeItemTemplate="{StaticResource ListPickerFullModeItemTemplate}"
FullModeHeader="Select A Tax Code Letter..."
</StackPanel>
C#
public SettingsWithoutConfirmation()
{
InitializeComponent();
List<TaxCodes> source = new List<TaxCodes>();
source.Add(new TaxCodes() { FromClassTaxCode = "Madrid" });
source.Add(new TaxCodes() { FromClassTaxCode = "Las Vegas" });
source.Add(new TaxCodes() { FromClassTaxCode = "London" });
source.Add(new TaxCodes() { FromClassTaxCode = "Mexico" });
source.Add(new TaxCodes() { FromClassTaxCode = "FSDF" });
source.Add(new TaxCodes() { FromClassTaxCode = "FDSFDS" });
source.Add(new TaxCodes() { FromClassTaxCode = "LKJSGFD" });
this.listPicker.ItemsSource = source;
}
TaxCodes.cs *
namespace MyNameSpace
{
public class TaxCodes
{
public string FromClassTaxCode
{
get;
set;
}
}
}
答案 0 :(得分:0)
我遇到了同样的问题。您需要在设置所选索引之前定义项目。因此,您必须为项目使用数据绑定,并且必须将其放在SelectedIndex之前。