有沒有辦法訂購這個Silverlight綁定的ListBox。我不確定我填充的方式是否容易?Silverlight listbox orderby
代碼示例在這裏:
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或「英里」是它需要提升的數字。代碼是有點混亂,並不完全正確地工作,但你明白了。
因此'英里'是獨立於來自XML的數據從你想排序? – 2011-03-20 14:19:51
嗨是的,'英里'是從上面例子中缺少的一些代碼中產生的。 (基本上算出你是從一個特定的位置你有多少英里) – 2011-03-20 14:27:53
編輯我的問題/代碼,以幫助理解我在做什麼。 – 2011-03-20 14:47:38