public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();

            LoadLines();
            LoadEllipse();
            BuildText();
        }

        private PointCollection pc = new PointCollection();    

        //创建渲染效果
        private void RenderEffect(ref Polyline p1)
        {
            DropShadowEffect dse=new DropShadowEffect();
            dse.BlurRadius=30;
            dse.Opacity=1;
            dse.ShadowDepth=0;
            dse.Color=Colors.White;
            p1.Effect=dse;

        }

        //使用Polyline画线
        private void LoadLines()
        {
            pc.Add(new Point(10,380));
            pc.Add(new Point(60,320));
            pc.Add(new Point(110, 365));
            pc.Add(new Point(160, 300));
            pc.Add(new Point(210,290));
            pc.Add(new Point(260,320));
            pc.Add(new Point(310,190));
            pc.Add(new Point(360,240));
            pc.Add(new Point(410,150));
            pc.Add(new Point(460,90));
            pc.Add(new Point(510,110));
            pc.Add(new Point(560,40));
            Polyline p1 = new Polyline();
            p1.Stroke = new SolidColorBrush(Colors.Yellow);
            p1.StrokeThickness = 2;
            p1.Points = pc;
            RenderEffect(ref p1);
            LayoutRoot.Children.Add(p1);
        }

        //创建椭圆并添加到界面上
        private void LoadEllipse()
        {
            int i = 1;
            foreach (Point p in pc)
            {
                //创建椭圆对象
                Ellipse ep = new Ellipse();
                ep.Width = ep.Height = 20;
                ep.Fill = new SolidColorBrush(Colors.Blue);
                ep.VerticalAlignment = VerticalAlignment.Top;
                ep.HorizontalAlignment = HorizontalAlignment.Left;

                //计算椭圆位置
                double left = p.X - ep.Width / 2;
                double top = p.Y - ep.Height / 2;
                ep.Margin = new Thickness(left,top,0,0);

                //添加提示信息
                ToolTipService.SetToolTip(ep, string.Format("这是{0}月数据({1})", i, p.X * p.Y));
                LayoutRoot.Children.Add(ep);
                i++;
            }
        }

        private void BuildText()
        {
            StackPanel SP = new StackPanel();
            SP.VerticalAlignment = VerticalAlignment.Bottom;
            SP.Orientation = Orientation.Horizontal;
      
            for (int i = 1; i <= 12; i++)
            {
                TextBlock tbk = new TextBlock()
                {
                    Text = string.Format("{0}月份", i),
                    Width = 40,
                    Margin = new Thickness(5),
                    //Foreground = new SolidColorBrush(Colors.White),
                    FontSize = 11
                };
                SP.Children.Add(tbk);
            }
            LayoutRoot.Children.Add(SP);
        }
      
    }