2010-07-13 11 views
7

Tengo una elipse que me gustaría poner programáticamente en un lienzo. Desafortunadamente, la elipse solo dibuja en la parte superior derecha. ¿Alguna ayuda?Añadir posición de elipse dentro del lienzo

SolidColorBrush newColor = HotSquare(col); 
     Color newCol = getCol(col); 
     Color newCol2 = getCol2(col); 

     Ellipse el1 = new Ellipse(); 
     el1.Height = 40; 
     el1.Width = 40; 
     RadialGradientBrush rgb = new RadialGradientBrush(); 
     GradientStop gsa = new GradientStop(); 
     el1.StrokeThickness = 3; 
     el1.Stroke = newColor; 
     el1.StrokeDashArray = new DoubleCollection() { 6, 6 }; 
     gsa.Color = newCol; 
     gsa.Offset = 0; 
     rgb.GradientStops.Add(gsa); 
     GradientStop gsb = new GradientStop(); 
     gsb.Color = newCol2; 
     gsb.Offset = 1; 
     rgb.GradientStops.Add(gsb); 
     el1.Fill = rgb; 

     Ellipse el2 = new Ellipse(); 
     el2.Height = 40; 
     el2.Width = 40; 
     el2.StrokeThickness = 3; 
     el2.Stroke = newColor; 

     //el2.Fill = new SolidColorBrush(Colors.Transparent); 

     Canvas canvas = new Canvas(); 
     canvas.Children.Add(el1); 
     //canvas.Children.Add(el2); 
     TextBlock txt = new TextBlock(); 
     txt.Text = "\n " + amnt.ToString(); 
     txt.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); 
     txt.Height = 60; 
     txt.Width = 60; 
     txt.HorizontalAlignment = HorizontalAlignment.Center; 
     //txt.VerticalAlignment = VerticalAlignment.Bottom; 
     txt.FontSize = 12; 
     canvas.Children.Add(txt); 
     Border border = new Border(); 
     border.BorderBrush = newColor; 
     border.BorderThickness = new Thickness(2); 
     border.Child = canvas; 
     LocationRect lr = new LocationRect(North, West, South, East); 
     HotspotLayer.AddChild(ele, lr); 
+0

¿Hay algún motivo por el que no esté describiendo esto en Xaml? – AnthonyWJones

+3

Como los agrego programáticamente, no hay manipulación directa de XAML como tal (solo en tiempo de ejecución). –

Respuesta

Cuestiones relacionadas