【发布时间】:2011-03-20 14:13:54
【问题描述】:
有没有办法订购这个 Silverlight 绑定的 ListBox。我不确定我的填充方式是否容易?
此处的代码示例:
XElement _xml = XElement.Load("MSA.xml");
{
msa.Items.Clear();
foreach (XElement value in _xml.Elements("channel").Elements("msa"))
{
MSAFeedItem _item = new MSAFeedItem();
_item.Lat = double.Parse(value.Element("lat").Value);
_item.Long = double.Parse(value.Element("long").Value);
_item.Name = value.Element("n").Value;
double dis1 = _item.Lat - curLatitude;
double dis2 = _item.Long - curLongitude;
var miles1 = Math.Pow(dis1, 2.0);
var miles2 = Math.Pow(dis2, 2.0);
var miles3 = miles1 + miles2;
var miles4 = Math.Sqrt(miles3) ;
var miles = miles4 * 62.1371192;
_item.Distance = Decimal.Truncate(Convert.ToDecimal(miles));
msa.Items.Add(_item);
}
}
它需要根据称为“英里”的双精度或十进制值按升序排列 ListBox 被称为“msa”
非常感谢您的任何帮助或建议。
编辑:我添加了我的距离代码以帮助您了解发生了什么,所以 _item.distance 或 'miles' 是它需要上升的数字。 代码有点乱,不能完全正确,但你明白了。
【问题讨论】:
-
so
miles独立于来自 XML 的数据,您想按那个排序吗? -
嗨,是的,'miles' 是从上面示例中缺少的一些代码生成的。 (基本上算出您离特定位置的距离)
-
编辑了我的问题/代码以帮助了解我在做什么。
标签: c# silverlight list listbox