windows-phone-8 - Wp8 -列表选择器 - 根据第一个列表选择器值过滤第二个列表选择器值

标签 windows-phone-8 selecteditem listpicker

我想获取第一个列表选择器的值,并根据其值过滤第二个列表选择器...任何人都可以帮助我如何实现它吗?

最佳答案

试试这个..

<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/

相关文章:

ajax - 通过 ssl 的 phonegap ajax 请求错误

windows-phone-7 - 列表选择器和 "SelectedItem must always be set to a valid value"

c# - 动画wpf列表框的选定项目

silverlight - 为什么 WP7 ListPicker 的边距和高度与 TextBox 不同

c# - 如何获取 ListPicker 的选中项

c# - 无法从 'System.IO.IsolatedStorage.IsolatedStorageFileStream' 转换为 'Windows.Storage.IStorageFile'

c# - 第一次画面

visual-studio-2012 - 在 WP8 设备上调试时 XAML 未更新

java - 将 JComboBox 添加到 JTable 单元格。所选项目不保留

带有 ChangeListener 的 JavaFX TableView 用于多选