如何根据先前从同一选择器中选择的内容重新填充Xamarin Picker?

时间:2019-02-18 23:57:26

标签: xamarin.forms picker

我希望在基于层次结构的列表中使用单个选择器。想法是选择一个项目,然后基于此选择,使用内部级别的数据基于该选择重新填充相同的选择器。

层次结构可能看起来像这样

  • 列出项目A1
    • 列出项目A1.1
    • 列出项目A1.2
      • 列出项目A1.2.1
    • 列出项目A1.3
  • 列出项目B1
    • 列出项目B1.1
    • 列出项目B1.2
    • 列出项目B1.3

我做了几次尝试,但最终在SelectedIndexChanged方法中陷入了无限循环。

最诚挚的问候。

2 个答案:

答案 0 :(得分:0)

据我了解,您需要类似的东西。

<Picker x:Name="pick" SelectedIndexChanged="pick_SelectedIndexChanged">
        <Picker.Items>
             <x:String>Hello</x:String>
        </Picker.Items>
</Picker>

然后在后面的代码中,使用selectedindex对其进行填充。

private void pick_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (pick.SelectedIndex == 0)
            pick.Items.Add("Hello_World");
    }

答案 1 :(得分:0)

禁用SelectedIndexChanged方法

// disable the event handler
myPicker.SelectedIndexChanged -= OnSelectedIndexChanged;

// update your Picker data

// re-enable the event handler
myPicker.SelectedIndexChanged += OnSelectedIndexChanged;