Ellipse hinzufügen Position im Canvas-Bereich
Ich habe eine ellipse, die ich möchte programmatisch in eine Leinwand. Leider ist die ellipse nur zieht in der oberen rechten. Keine Hilfe?
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);
- Gibt es einen Grund, Sie nicht beschreiben, diese in Xaml?
- Denn ich bin das hinzufügen Sie ein Programm, keine direkte manipulation von XAML als solche (erst zur Laufzeit).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie anrufen Canvas.SetTop und Canvas.SetLeft auf das Kind-element an die gewünschte position im Canvas-Bereich.