Изменение результатов сбора перед привязкой его к списку - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть простой запрос 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 Ответ

1 голос
/ 03 ноября 2011

Ну, самый простой подход будет изменить вашу проекцию:

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"))
            };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...