Как восстановить удостоверение личности сборщика в Хамарине - PullRequest
0 голосов
/ 03 октября 2018

У вас есть средство выбора в Xamarin, которое отображает имя определенных Fabricantes, следующим образом

enter image description here

этот сборщик заполняется путем передачи ObservableCollectionОбъект FABRICANTES

Fabricantes.CS:

 public class Fabricante
    {
        [JsonProperty(PropertyName = "id")]
        public int  Id { get; set; }

        [JsonProperty(PropertyName = "name")]
        public string Name { get; set; }
    }

FiltrosView.XAML:

 <Picker Title="Seleccione Fabricante"               
                Margin="15,5,15,5"
                HorizontalOptions="FillAndExpand"
                ItemsSource="{Binding Fabricantes, Mode=TwoWay}"
                ItemDisplayBinding="{Binding Name}"
                SelectedItem="{Binding Id}"
                SelectedIndex="{Binding Id}">         
        </Picker>

Как заполнить средство выбора?Здесь я объявляю список и свойство, которое будет захватывать идентификатор средства выбора, чтобы открыть список в средстве выбора, я приведу объект, который прибывает из API, и заполню коллекцию Observable, а затем bindarla в поле зрения, это работает!

FiltrosViewModel.CS:

      public ObservableCollection<Fabricante> Fabricantes { get; set; }

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

     var response = await apiService.GetList<Fabricante>(urlService, param);

        var list = (List<Fabricante>)response.Result;
        Fabricantes.Clear();

        foreach (var item in list)
        {
           Fabricantes.Add(item);
        }

Но, поскольку я фиксирую идентификатор (int) значения, введенного пользователем (строка), можно ли это сделать в xamarin?Я хотел бы иметь возможность зафиксировать значение идентификатора средства выбора в ранее объявленном свойстве IdSubstance, как это сделать?любая помощь для меня?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Лучший способ сделать это - привязать выбранный индекс средства выбора.В своем коде XAML добавьте следующую строку к вашему средству выбора:

SelectedIndex={Binding IdSustancia, Mode=TwoWay}

Таким образом, когда index! = -1 (начальное значение), вы можете получить идентификатор Fabricante в ObservableCollection, получив доступ к Fabricantes[IdSustancia].

0 голосов
/ 03 октября 2018

используйте свойство SelectedItem

SelectedItem="{Binding IdSustancia}"

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

...