我想获取第一个列表选择器的值,并根据其值过滤第二个列表选择器...任何人都可以帮助我如何实现它吗?
最佳答案
试试这个..
<StackPanel>
<toolkit:ListPicker Name="lstPicker1" SelectionChanged="lstPicker1_SelectionChanged">
<sys:String>Option 1</sys:String>
<sys:String>Option 2</sys:String>
<sys:String>Option 3</sys:String>
<sys:String>Option 4</sys:String>
<sys:String>Option 5</sys:String>
</toolkit:ListPicker>
<toolkit:ListPicker Name="lstPicker2">
</toolkit:ListPicker>
</StackPanel>
对于第一个 ListPicker (lstPicker1),您也可以从代码中动态设置项目。
我创建了此方法来动态创建第二个 ListPicker
(lstPicker2) 的内容。这很简单。使用这样的东西供您使用
private List<string> CreateList(int opt)
{
List<string> strLst = new List<string>();
for (int i = 1; i < 6; i++)
{
string str = string.Format("Sub-option {0}.{1}", opt, i);
strLst.Add(str);
}
return strLst;
}
然后,使用 lstPicker1 中的 SlectionChanged
事件来设置第二个 ListPicker
中的项目
private void lstPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lstPicker1 != null)
{
switch (lstPicker1.SelectedIndex)
{
case 0:
lstPicker2.ItemsSource = CreateList(1);
break;
case 1:
lstPicker2.ItemsSource = CreateList(2);
break;
case 2:
lstPicker2.ItemsSource = CreateList(3);
break;
case 3:
lstPicker2.ItemsSource = CreateList(4);
break;
case 4:
lstPicker2.ItemsSource = CreateList(5);
break;
default:
break;
}
}
}
在 SelectionChanged
方法中,需要 If 条件,以便在页面加载时不会抛出 Exception
。
关于windows-phone-8 - Wp8 -列表选择器 - 根据第一个列表选择器值过滤第二个列表选择器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25593322/