在将其绑定到列表框之前更改集合的结果

时间:2011-11-03 18:50:33

标签: c# xaml windows-phone-7 linq-to-xml

我运行了一个简单的Linq to XML查询,结果绑定到listbox(通过collection)。例如,我无法弄清楚的是如何在绑定它们之前改变结果。我有以下代码:

 XElement xmlEvents = XElement.Parse(e.Result);
 lstb.ItemsSource = from GetEvents in xmlEvents.Descendants("e2event")
     select new GetEvents
     {
         eventid = GetEvents.Element("eventid").Value,
         eventtime = GetEvents.Element("eventtime").Value
     };

eventtime返回一个linux时间戳,我有一个小方法将其转换为日期时间戳。那么在绑定到listbox之前我将如何转换为此?

1 个答案:

答案 0 :(得分:1)

最简单的方法是改变你的预测:

XElement xmlEvents = XElement.Parse(e.Result);
lstb.ItemsSource =
            from GetEvents in xmlEvents.Descendants("e2event")
            select new GetEvents
            {
                 eventid = GetEvents.Element("eventid").Value,
                 eventtime = ConvertTime(GetEvents.Element("eventtime").Value)
            };

ConvertTime是你的方法。)

请注意,如果这是一个整数值,您可以使用LINQ to XML为您执行数字转换:

XElement xmlEvents = XElement.Parse(e.Result);
lstb.ItemsSource =
            from GetEvents in xmlEvents.Descendants("e2event")
            select new GetEvents
            {
                 eventid = GetEvents.Element("eventid").Value,
                 eventtime = ConvertTime((long) GetEvents.Element("eventtime"))
            };