Как повторно заполнить Xamarin Picker на основе предыдущего выбора из того же сборщика? - PullRequest
0 голосов
/ 19 февраля 2019

Я ищу использование одного средства выбора в списке на основе иерархии.Идея состоит в том, чтобы выбрать элемент и на основе этого выбора выполнить повторное заполнение того же самого сборщика на основе этого выбора, используя данные на внутреннем уровне.

Иерархия может выглядеть следующим образом

  • Элемент списка A1
    • Элемент списка A1.1
    • Элемент списка A1.2
      • Элемент списка A1.2.1
    • Элемент списка A1.3
  • Элемент списка B1
    • Элемент списка B1.1
    • Элемент списка B1.2
    • Элемент списка B1.3

Я сделал несколько попыток, но в результате получился бесконечный цикл в методе SelectedIndexChanged.

С уважением.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

отключить метод SelectedIndexChanged

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

// update your Picker data

// re-enable the event handler
myPicker.SelectedIndexChanged += OnSelectedIndexChanged;
0 голосов
/ 19 февраля 2019

Насколько я понимаю, вам нужно что-то вроде этого.

<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");
    }
...