diff --git a/MyFirstMauiApp/WeatherClient/Converters/WeatherConditionToImageConverter.cs b/MyFirstMauiApp/WeatherClient/Converters/WeatherConditionToImageConverter.cs new file mode 100644 index 0000000..797d251 --- /dev/null +++ b/MyFirstMauiApp/WeatherClient/Converters/WeatherConditionToImageConverter.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WeatherClient.Models; + +namespace WeatherClient.Converters +{ + internal class WeatherConditionToImageConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + WeatherType weatherCondition = (WeatherType)value; + + return weatherCondition switch + { + Models.WeatherType.Sunny => ImageSource.FromFile("sunny.png"), + Models.WeatherType.Cloudy => ImageSource.FromFile("cloud.png"), + _ => ImageSource.FromFile("question.png"), + }; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/MyFirstMauiApp/WeatherClient/MainPage.xaml b/MyFirstMauiApp/WeatherClient/MainPage.xaml index 5ceb1c6..1c07dca 100644 --- a/MyFirstMauiApp/WeatherClient/MainPage.xaml +++ b/MyFirstMauiApp/WeatherClient/MainPage.xaml @@ -1,7 +1,11 @@  + + + @@ -16,15 +20,15 @@ diff --git a/MyFirstMauiApp/WeatherClient/MainPage.xaml.cs b/MyFirstMauiApp/WeatherClient/MainPage.xaml.cs index fe04b96..7466e9b 100644 --- a/MyFirstMauiApp/WeatherClient/MainPage.xaml.cs +++ b/MyFirstMauiApp/WeatherClient/MainPage.xaml.cs @@ -14,19 +14,7 @@ btnRefresh.IsEnabled = false; actIsBusy.IsRunning = true; - Models.WeatherData weatherData = await Services.WeatherServer.GetWeather(txtPostalCode.Text); - - lblWind.Text = weatherData.Wind.ToString(); - lblHumidity.Text = weatherData.Humidity.ToString(); - lblPrecipitation.Text = weatherData.Precipitation.ToString(); - lblTemperature.Text = weatherData.Temperature.ToString("#"); - - imgCondition.Source = weatherData.Condition switch - { - Models.WeatherType.Sunny => ImageSource.FromFile("sunny.png"), - Models.WeatherType.Cloudy => ImageSource.FromFile("cloud.png"), - _ => ImageSource.FromFile("question.png") - }; + BindingContext = await Services.WeatherServer.GetWeather(txtPostalCode.Text); btnRefresh.IsEnabled = true; actIsBusy.IsRunning = false;