Exemplo n.º 1
0
        private void RenderElements( )
        {
            //Name_Type_Shape_Longitude_Latitude(_Longitude_Latitude)
            List <UIElement> Elements = (from UIElement child in cnvRadar.Children
                                         select child).ToList( );

            foreach (UIElement CurrentElement in Elements)
            {
                List <string> Params = CurrentElement.GetValue(TagProperty).ToString( ).Split(';').ToList( );

                if (Params [2] == "Line")
                {
                    CurrentElement.SetValue(Line.X1Property, GetScaledLongitude(int.Parse(Params [3])));
                    CurrentElement.SetValue(Line.Y1Property, GetScaledLatitude(int.Parse(Params [4])));
                    CurrentElement.SetValue(Line.X2Property, GetScaledLongitude(int.Parse(Params [5])));
                    CurrentElement.SetValue(Line.Y2Property, GetScaledLatitude(int.Parse(Params [6])));
                }
                else if (Params [2] == "LineGeometry")
                {
                    LineGeometry CurrentLine = new LineGeometry(new Point(GetScaledLongitude(int.Parse(Params [3])), GetScaledLatitude(int.Parse(Params [4]))), new Point(GetScaledLongitude(int.Parse(Params [5])), GetScaledLatitude(int.Parse(Params [6]))));
                    CurrentElement.SetValue(Path.DataProperty, CurrentLine);
                }
                else
                {
                    double OffsetX = 0, OffsetY = 0;
                    if (Params [2] == "Label")
                    {
                        OffsetX = LabelOffsetX;
                        OffsetY = LabelOffsetY;
                    }

                    CurrentElement.SetValue(Canvas.LeftProperty, GetScaledLongitude(int.Parse(Params [3])) + OffsetX);
                    CurrentElement.SetValue(Canvas.TopProperty, GetScaledLatitude(int.Parse(Params [4])) + OffsetY);
                }
            }
        }