我正在使用 WCF 天气服务并接收 ID、描述和图像等天气信息。它返回如下:
<WeatherDescription>
<WeatherID>1</WeatherID>
<Description>Thunder Storms</Description>
<PictureURL>
http://ws.cdyne.com/WeatherWS/Images/thunderstorms.gif
</PictureURL>
</WeatherDescription>
现在在 XAML 中,我在 dataGrid 中显示我的数据,如下所示:
<sdk:DataGridTextColumn Header="ID" Binding="{Binding WeatherID}" />
上面的绑定是服务的另一个函数,它返回一个 7 天的预报,但返回与天气描述相同的天气 ID。我在代码端创建了一个包含所有天气描述的数组,如下所示:
public partial class MainPage : UserControl
{
//array of weather descriptions
private WeatherDescription[] weatherInformation;
WeatherSoapClient weatherClient = new WeatherSoapClient();
public MainPage()
{
InitializeComponent();
weatherClient.GetWeatherInformationCompleted += new EventHandler<GetWeatherInformationCompletedEventArgs>(weatherClient_GetWeatherInformationCompleted);
weatherClient.GetWeatherInformationAsync();
}
void weatherClient_GetWeatherInformationCompleted(object sender, GetWeatherInformationCompletedEventArgs e)
{
weatherInformation = e.Result;
}
}
我想要做的是创建一个转换器,该转换器从该列获取 ID,并使用天气描述中提供的 URL 将其转换为图像。
我知道 Silverlight 不支持 GIF,所以我想将该图像发送到将其转换为 JPG 的处理程序。
对于 Silverlight 和 C# 来说都是全新的,这是我真正遇到的两件事。提前感谢您的帮助!代码片段对我来说是最好的帮助,因为我还不懂很多 C#。