private void llsBuses_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            var listSelector = sender as LongListSelector;
            if (listSelector.SelectedItem == null)
                return;
            m_selectedBus = listSelector.SelectedItem as Bus;
            Debug.WriteLine(m_selectedBus.Segments.First().LineName+"\t"+m_selectedBus.Segments.Last().LineName);

            NavigationService.Navigate(new Uri("/RouteDetailPage.xaml?start=" + m_strStart + "&end=" + m_strEnd, UriKind.Relative));
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            object temp_bus;

            m_strStart = NavigationContext.QueryString["start"];
            m_strEnd = NavigationContext.QueryString["end"];
            tbkStart.Text = m_strStart;
            tbkEnd.Text = m_strEnd;

            if (m_myService.State.ContainsKey("selectedBus"))
            {
                if (m_myService.State.TryGetValue("selectedBus", out temp_bus))
                {
                    m_bus = (Bus)temp_bus;
                    llsRouteDetail.ItemsSource = m_bus.Segments;
                }
            }

            base.OnNavigatedTo(e);
        }
Esempio n. 3
0
        public static ObservableCollection<Bus> parseXMLForBusRoutes(string xmlFile)
        {
            ObservableCollection<Bus> buses = new ObservableCollection<Bus>();
            XDocument xdoc = XDocument.Parse(xmlFile);

            var temp_buses = from temp_bus in xdoc.Descendants("bus")
                             select new
                             {
                                 dist = temp_bus.Element("dist").Value,
                                 time = temp_bus.Element("time").Value,
                                 last_foot_dist = temp_bus.Element("last_foot_dist").Value,
                                 foot_dist = temp_bus.Element("foot_dist").Value,

                                 segments = from segment in temp_bus.Descendants("segment")
                                            select new
                                            {
                                                start_stat = segment.Element("start_stat").Value,
                                                end_stat = segment.Element("end_stat").Value,
                                                line_name = segment.Element("line_name").Value,
                                                stats = segment.Element("stats").Value,
                                                line_dist = segment.Element("line_dist").Value,
                                                foot_dist = segment.Element("foot_dist").Value
                                            },
                             };
            foreach (var temp_bus in temp_buses)
            {
                Bus bus = new Bus();
                bus.Distance = temp_bus.dist;
                bus.Time = temp_bus.time;
                bus.FootDistance = temp_bus.foot_dist;
                bus.LastFootDistance = temp_bus.last_foot_dist;

                ObservableCollection<Segment> list_segments = new ObservableCollection<Segment>();
                foreach (var segment in temp_bus.segments)
                {
                    Segment s = new Segment();
                    s.StartStat = segment.start_stat;
                    s.EndStat = segment.end_stat;
                    s.LineName = segment.line_name;
                    s.Stats = segment.stats.Split(';');
                    s.LineDistance = segment.line_dist;
                    s.FootDistance = segment.foot_dist;

                    list_segments.Add(s);
                }
                bus.Segments = list_segments;

                buses.Add(bus);
            }
            return buses;
        }