Как использовать привязку URL + в теге формы xamarin - PullRequest
0 голосов
/ 21 июня 2019

Я хотел бы поместить эту строку в источник изображения:

http://openweathermap.org/img/w/10d.png https://openweathermap.org/weather-conditions

Но строка должна выглядеть примерно так:

"http://openweathermap.org/img/w/ + {Binding weather} + .png"

У меня проблема в том, что, очевидно, я не могу использовать StringFormat в метке, так как я могу сделать одну строку из

Другая проблема, с которой я столкнулся, заключается в том, что я не совсем понимаю, как работает связывание для этого, возможно, в этом вся проблема, которая дается из сценария вроде:

    public async void GetWeather()
    {
        WeatherData weatherData = await _restService.GetWeatherData(GenerateRequestUri(Constants.OpenWeatherMapEndpoint));
        BindingContext = weatherData;
    }

Что я могу сделать, чтобыполучить переменную icon из Weatherdata, или есть более практичный способ решить эту проблему, я до сих пор не очень хорошо знаю, где это выделено или как поместить значения "bindingcontext" в c #, спасибо

Ответы [ 2 ]

1 голос
/ 21 июня 2019

создайте свойство с именем WeatherIcon в своем классе WeatherData и привяжите его в качестве источника вашего изображения

public string WeatherIcon
{
  get {
    return $"http://openweathermap.org/img/w/{Weather[0].Icon}.png";
  }
}

, где weather - это свойство, которое содержит строку, которую необходимо вставить в URL

0 голосов
/ 21 июня 2019

Мой рабочий код оказался

     public async void GetWeather()
    {
        WeatherData weatherData = await _restService.GetWeatherData(GenerateRequestUri(Constants.OpenWeatherMapEndpoint));
        BindingContext = weatherData;
        temperatura.Text = Math.Round(weatherData.Main.Temperature).ToString() + " °C";
        icon.Source = "http://openweathermap.org/img/w/" + weatherData.Weather[0].Icon + ".png";                       
    }

, поэтому я могу видеть значки и температуру для моего запроса в openweather https://openweathermap.org/weather-conditions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...