отображение элементов средства выбора при использовании веб-службы xamarin - PullRequest
0 голосов
/ 05 мая 2020

Я хочу показать элементы средства выбора из использования веб-сервиса Restful, но у меня есть ошибка!

  <Picker x:Name="natures" ItemsSource="{Binding Naturee}" SelectedItem="ItemNature" 
                    ItemDisplayBinding="{Binding Name}" 
                    Title="choisir votre nature de dépense"
                    SelectedIndexChanged="natures_SelectedIndexChanged"/>

мой модальный PickerModelNature

  public class PickerModelNature
{
    public class NatureD
    {
        public string Label;

    }


   public class ResponseDataN
    {
        public RootModel Data;
    }
    public class RootModel : INotifyPropertyChanged
    {

        List<NatureD> natureList;

        [JsonProperty("natureList")]
         public List<NatureD> NatureList
        {
            get { return natureList; }
            set
            {
                if (natureList != value)
                {
                    natureList = value;
                    OnPropertyChanged();
                }
            }
        }

        NatureD itemNature;
        public NatureD ItemNature
        {
            get { return itemNature; }
            set
            {
                if (itemNature != value)
                {
                    itemNature = value;
                    OnPropertyChanged();
                }
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = "")
        {

            var changed = PropertyChanged;
            if (changed == null)
                return;

            changed.Invoke(this, new PropertyChangedEventArgs(propertyName));

        }
    }

}

и xaml.cs

  public partial class CreerDepense : ContentPage
{
    public CreerDepense()
    {
        InitializeComponent();
        this.BindingContext = new RootModel();

        GetExpenseNature();


    }  private async void GetExpenseNature()
    {
        HttpClient httpClient = new HttpClient();
        httpClient.BaseAddress = new Uri("http://192.168.1.6:3000/api/adepApi/GetExpensesNatureList");
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage response = await httpClient.GetAsync("http://192.168.1.6:3000/api/adepApi/GetExpensesNatureList");
        var content = await response.Content.ReadAsStringAsync();
         ResponseDataN EL = JsonConvert.DeserializeObject<ResponseDataN>(content);
       // var Items = JsonConvert.DeserializeObject<List<NatureD>>(content);
        //listexpense.ItemsSource = Items;
         natures.ItemsSource = EL.Data.NatureList;       
    }

ошибка: Java .Lang.NullPointerException: 'Попытка вызвать виртуальный метод' java .lang.String java .lang.Object.toString () 'для ссылки на нулевой объект '

что мне делать?

...