添加引用列表

时间:2013-07-02 18:53:47

标签: c# wpf list user-controls ref

我已经读过无法将控件加载到数组或列表中并以这种方式访问​​的地方,但我很感兴趣。

我的问题如下:我在我的应用程序中显示了一周的预测数据。预测数据从Wunderground's JSON API检索并存储到包含显示所需字段(高/低温度,条件摘要等)的对象中。我的应用程序使用Bing地图API执行地理编码搜索,从Bing地图控件检索到的纬度/经度被传递给Wunderground服务的请求,以根据纬度/经度坐标检索预测数据。响应包含一个“ForecastDay”对象列表,其中包含每天的预测数据。

每天都会显示在自己的自定义用户控件中,因此我将其命名为:forecastDay1,forecastDay2等。

我很好奇是否有办法通过类似

的引用将这些控件添加到列表中
forecastDayControls.Add(ref forecastDay1);

因此我可以遍历控件并使用基于相应日期的信息填充它们,每个信息都已通过JSON反序列化放入列表中。我的代码非常实用,但它看起来很漂亮,很漂亮

for(int i = 0; i < forecastDayControls.Count; i++)
{
    forecastDayControls[0].ForecastDay = forecastDay[0];
}

如果我可以将它们放入列表并以这种方式处理它们,而不是通过1对1并且使用丑陋的代码:

forecastDay1 = forecast.forecastDay[0];
forecastDay2 = forecast.forecastDay[1];
forecastDay3 = forecast.forecastDay[2];
forecastDay4 = forecast.forecastDay[3];
forecastDay5 = forecast.forecastDay[4];
forecastDay6 = forecast.forecastDay[5];
forecastDay7 = forecast.forecastDay[6];


谢谢!

1 个答案:

答案 0 :(得分:1)

这样做:

forecastDayControls.Add(forecastDay1);

您不需要ref关键字,因为forecastDay1class,因此始终通过引用传递。