【发布时间】:2014-02-26 09:56:55
【问题描述】:
我正在尝试使用来自IValueConverter 的Convert 函数,但我必须在其中调用另一个函数。我将使用他的返回值,但我得到了一个错误,告诉我在转换器中返回一个对象值,请知道如何避免这种情况。
public void Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
RestClient client = new RestClient();
client.BaseUrl = "http://";
RestRequest request = new RestRequest();
request.Method = Method.GET;
request.AddParameter("action", "REE");
request.AddParameter("atm_longitude", location.Longitude);
client.ExecuteAsync(request, ParseFeedCallBack_ListDistance);
}
public void ParseFeedCallBack_ListDistance(IRestResponse response)
{
if (response.StatusCode == HttpStatusCode.OK)
{
ParseXMLFeedDistance(response.Content);
}
}
private string ParseXMLFeedDistance(string feed)
{
.... return myvalueToBind;
}
【问题讨论】:
-
接口“System.Windows.Data.IValueConverter”希望您提供两种方法的实现,Convert 和 ConvertBack,它们都需要您返回一个对象。 void 方法无效。您至少必须返回 null 并将您的转换方法更改为“公共对象转换”。作为旁注,您到底想实现什么?在这种情况下,您使用转换器似乎是错误的方法,我显然无法判断,因为您没有提供一般问题的上下文。
-
事实上,我需要在列表框中使用纬度和经度 foreach 项目,并使用它们来调用网络服务来获取设备和该项目之间的距离..所以我使用了这种方法,你呢还有其他建议吗?
-
在这种情况下,您最好在本地进行计算。您有设备坐标和参考坐标。使您免于为列表中的每个项目打开 x 数量的 HTTP 连接,从而节省设备电池和数据使用量。请参阅下面的回复
标签: windows-phone-7 ivalueconverter