//activates proxy and populates xaml controls with data from proxy with OpenWeatherMap
        private async void Search_Weather(object sender, RoutedEventArgs e)
        {
            CheckBox_Status_Checker();

            //prompts user to select a unit of measurement if the user hasn't selected one yet
            if (Imperial.IsChecked == false && Metric.IsChecked == false)
            {
                MessageDialog noBoxChecked = new MessageDialog("Please choose a unit of measurement.");
                await noBoxChecked.ShowAsync();

                return;
            }

            //prompts user to search a legitimate city
            if (searchBox.Text == "")
            {
                MessageDialog searchBoxEmpty = new MessageDialog("Please enter a city to search");
                await searchBoxEmpty.ShowAsync();

                return;
            }

            cityName           = searchBox.Text;
            textBlockCity.Text = cityName;
            RootObject currentWeather = await Proxy.GetWeather(cityName, unit);

            FiveDayForecast Forecast = new FiveDayForecast(currentWeather);

            int[] days = { 0, 1, 2, 3, 4 };
            Control_Populator(Forecast, days);
        }
 //populates the temperature text for each day
 private void Temp_Populator(FiveDayForecast forecast, int[] days)
 {
     maxTemp0.Text = forecast.fiveDayForecastArr[days[0]].Temp;
     maxTemp1.Text = forecast.fiveDayForecastArr[days[1]].Temp;
     maxTemp2.Text = forecast.fiveDayForecastArr[days[2]].Temp;
     maxTemp3.Text = forecast.fiveDayForecastArr[days[3]].Temp;
     maxTemp4.Text = forecast.fiveDayForecastArr[days[4]].Temp;
 }
 //populates the days of the week text
 private void Date_Populator(FiveDayForecast forecast, int[] days)
 {
     date0.Text = forecast.fiveDayForecastArr[days[0]].Date;
     date1.Text = forecast.fiveDayForecastArr[days[1]].Date;
     date2.Text = forecast.fiveDayForecastArr[days[2]].Date;
     date3.Text = forecast.fiveDayForecastArr[days[3]].Date;
     date4.Text = forecast.fiveDayForecastArr[days[4]].Date;
 }
 //populates xaml images with corresponding weather icon
 private void Icon_Populator(FiveDayForecast forecast, int[] days)
 {
     icon0.Source = forecast.fiveDayForecastArr[days[0]].IconSource;
     icon1.Source = forecast.fiveDayForecastArr[days[1]].IconSource;
     icon2.Source = forecast.fiveDayForecastArr[days[2]].IconSource;
     icon3.Source = forecast.fiveDayForecastArr[days[3]].IconSource;
     icon4.Source = forecast.fiveDayForecastArr[days[4]].IconSource;
 }
        //method that calls all individual UI control populators
        private void Control_Populator(FiveDayForecast forecast, int[] days)
        {
            Button_Displayer();
            Control_Population_Handler Icon_Control = new Control_Population_Handler(Icon_Populator);
            Control_Population_Handler Date_Control = new Control_Population_Handler(Date_Populator);
            Control_Population_Handler Temp_Control = new Control_Population_Handler(Temp_Populator);

            Icon_Control += Date_Control + Temp_Control;
            Icon_Control(forecast, days);
        }