Ошибка при загрузке элементов в ListPicker

У меня есть два элемента ListPicker. Один из ListPickers - это получение данных от веб-клиента, а следующий также получает данные от веб-клиента на основе выбранного элемента в первом списке выбора.

<toolkit:ListPicker x:Name="BrandListPicker"
                      Background="#FAFAFA"
                      Foreground="#FF000000"
                      BorderBrush="#000000"
                      Margin="20,0">
        </toolkit:ListPicker>
        <TextBlock x:Name="BrandListPickerValue"
                   Visibility="Collapsed" 
                   Text=""/>

        <TextBlock Text="Models"
                   Foreground="#000000"
                   FontSize="30"
                   Margin="20,30,5,0" />
        <toolkit:ListPicker x:Name="ModelListPicker"
                            Background="#FAFAFA"
                            Foreground="#FF000000"
                            BorderBrush="#000000"
                            Margin="20,0">
        </toolkit:ListPicker>
        <TextBlock x:Name="ModelListPickerValue"
                   Visibility="Collapsed" 
                   Text=""/>

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

try {
WebClient brands_wc = new WebClient();

            Uri uri = new Uri(link);

            brands_wc.DownloadStringCompleted += (sender, e) =>
            {

                MemoryStream ms = new MemoryStream();

                try
                {
                    ms = new MemoryStream(Encoding.UTF8.GetBytes(e.Result.ToString()));
                }
                catch (Exception)
                {
                    MessageBox.Show("Sorry I was unable to retrieve brands, Please try again");
                    //Navigate back to home
                }


                DataContractJsonSerializer ser = new DataContractJsonSerializer(this.BrandList.GetType());
                ObservableCollection<Brands> x;

                x = ser.ReadObject(ms) as ObservableCollection<Brands>;


                foreach (Brands d in x)
                {
                    int js_id = d.makeId;
                    String js_name = d.makeName;

                    BrandList.Add(new Brands()
                    {
                        makeId = js_id,
                        makeName = js_name,
                    });

                    BrandListPicker.Items.Add(js_name);
                }

                ms.Close();

            };

            brands_wc.DownloadStringAsync(uri);

        }
        catch (Exception)
        {
            MessageBox.Show("Please check your internet connection to load brands");
            //Navigate to home page
        }


protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        String receivedCarType = "";
        if (NavigationContext.QueryString.TryGetValue("CarType", out receivedCarType))
        {
            if (this.vehicletypes.ContainsKey(receivedCarType))
            {
                CarType = vehicletypes[receivedCarType];
            }
        }
        this.GetBrands();
        this.ModelListPickerValue.Text = ((ListPickerItem)ModelListPicker.SelectedItem).Content.ToString();
        //this.GetModels();
        //this.ModelListPickerValue.Text = ((ListPickerItem)ModelListPicker.SelectedItem).Content.ToString();
    }

Ниже приведено нулевое исключение ошибки, почему? - что также приводит к невозможности загрузить следующий ListPicker

this.ModelListPickerValue.Text = ((ListPickerItem)ModelListPicker.SelectedItem).Content.ToString();

0 ответов

Другие вопросы по тегам