如何在xamarin表单图像标签中使用url +绑定

时间:2019-06-21 01:30:56

标签: c# xaml xamarin.forms

我想将此字符串放入图像源:

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

但是字符串必须类似于:

http://openweathermap.org/img/w/ + {绑定天气} + .png”

我遇到的问题是,显然我不能在标签中使用StringFormat,所以我如何制作一行

我遇到的另一个问题是我不太了解此绑定的工作方式,也许这就是整个问题,这是从类似以下脚本的脚本中给出的:

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

我该怎么做才能从Weatherdata中获取图标变量,或者有更实际的方法来解决此问题,我仍然不太清楚分配的位置或如何将“ bindingcontext”值放入c#中谢谢

2 个答案:

答案 0 :(得分:1)

WeatherIcon类中创建名为WeatherData的属性,并将其绑定为图像源

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

其中weather是包含您需要插入到url中的字符串的属性

答案 1 :(得分:0)

我的工作代码原来是

     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上查看查询的图标和温度