Как установить Picker со значением в свойстве SelectedIndex - PullRequest
0 голосов
/ 07 марта 2019

Я хочу, чтобы при открытии экрана, загружающего средство выбора, этот элемент управления устанавливался со значением «EXPIRED» («CADUCADOS») следующим образом ...

SetPicker

Проблема в том, что этот сборщик имеет другие значения, кроме "EXPIRED" ("CADUCADOS"), как показано на следующем рисунке ...

Picker

Вопрос в том, как установить для моего элемента управления Picker значение «EXPIRED»? для этого я занимаю свойство SelectedIndex, предоставляемое атрибуту типа int следующим образом

    <!--PICKER-->
            <Picker                       
                    Title="Seleccione un estado" 
                    SelectedIndex="{Binding Index, Mode=TwoWay}"
                    ItemsSource="{Binding ListaEstados, Mode=TwoWay}"
                    ItemDisplayBinding="{Binding Estado}"      
                    SelectedItem="{Binding SelectedEstado}">
            </Picker>

Моя ViewModel.CS:

 int index;

  public int Index
        {
            get
            {
                return index;
            }
            set
            {
                if (index != value)
                {
                    index = value;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Index)));
                }
            }
        }

Это метод, который заполняет средство выбора списком «состояний», и именно здесь я устанавливаю значение индекса ...

  private void LoadPickerEstados()
        {
            ListaEstados.Clear();

            var caducados = new Estados
            {
                IdEstado = 0,
                Estado = "CADUCADOS",
            };          

            var aprobaryplanificar = new Estados
            {
                IdEstado = 1,
                Estado = "POR APROBAR Y PLANIFICAR",
            };

            var planificar = new Estados
            {
                IdEstado = 4,
                Estado = "POR PLANIFICAR",
            };

            ListaEstados.Add(caducados);
            ListaEstados.Add(aprobaryplanificar);
            ListaEstados.Add(planificar);

         Index = 1;

        }

Проблема в том, что при установке Index = 0 => возвращается заполнитель, при установке Index = 1 => возвращается для утверждения и планирования («POR APROBAR Y PLANIFICAR»), а при установке Index = 2 => возвращается для планирования ("POR PLANIFICAR"), но я никогда не смогу получить значение "EXPIRED" ("CADUCADOS") !!

Что происходит? Я использую правильную собственность? Как я могу установить подборщик с правильным значением? любая помощь для меня?

...