Программное размещение эллипса на холсте в приложении магазина Windows 8

Мне удалось разместить эллипс на холсте, но он появляется в верхнем левом углу, несмотря на то, что я пробовал разные методы его перемещения. В этой попытке я пытаюсь переместить его в центр холста, но я хотел бы иметь возможность перемещать его в любое место на холсте.

private Ellipse drawEllipse(Canvas aCanvas)
{
   Ellipse newEllipse= new Ellipse();
   newEllipse.Width = 40;
   newEllipse.Height = 40;
   newEllipse.Fill = new SolidColorBrush(Colors.Aquamarine);
   aCanvas.Children.Add(lEllipse);
   newEllipse.SetValue(Canvas.LeftProperty, aCanvas.ActualWidth / 2.0);
   newEllipse.SetValue(Canvas.TopProperty, aCanvas.ActualHeight / 2.0);

   return newEllipse;
}

person AzureFrost    schedule 11.09.2013    source источник


Ответы (1)


Попробуй это:

Canvas.SetLeft(newEllipse, aCanvas.ActualWidth/2.0);
Canvas.SetTop(newEllipse, aCanvas.ActualHeight/2.0);

Я не пробовал, но мне всегда помогало.

Редактировать: Ах, и вам, вероятно, следует сначала добавить эллипс на холст, прежде чем перемещать эллипс.

person Bananenbieger    schedule 11.09.2013