/ / Xamarin Picker вибраний елемент зберігається на кількох сторінках - xamarin, mvvm, xamarin.ios, xamarin.android, xamarin.forms.labs

Xamarin Picker вибирає елемент, що зберігається на декількох сторінках - xamarin, mvvm, xamarin.ios, xamarin.android, xamarin.forms.labs

Питання: Можливо, виклик можна було б сказати так: Як я прив’язую одну властивість сторінки вмісту до глобально збереженої змінної у формах Xamarin?

Подробиці: Я використовую шаблон MVVM. У мене є сторінка контенту навігації (1 з 3 таких сторінок) з об'єктом Picker, який динамічно заповнюється з колекціїModel і зазначена модель читається / записується. Я намагаюсь зберегти SelectedItem (або індекс, що є найбільш підходящим) через усі 3 сторінки вмісту, щоб навігація зі сторінки на сторінку відображала один і той же елемент (з точки зору користувача). Як це зробити?

Я можу встановити Picker.SelectedIndex вручну в події ContentPage_Appearing (). Я б набагато скоріше скористався палітуркою.

Відповіді:

1 для відповіді № 1

Виконайте наступні кроки:

  1. Створіть статичний клас, наприклад:

    public static class DataClass
    {
    public static int PickerSelectedIndex = 0;
    }
    
  2. Додати xmlns:local в ContentPage позначте на кожній сторінці вмісту, наприклад:

    xmlns:local="clr-namespace:DataPersist"
    
  3. Прив’язування даних для ваших елементів керування в Xaml кожної сторінки, як це:

    <Picker  x:Name="picker" SelectedIndex="{x:Static local:DataClass.PickerSelectedIndex}">
    

Це працює так:

введіть опис зображення тут