Как изменить координаты x, y холста в правом нижнем углу в UWP?

#c# #xaml #uwp

#c# #xaml #uwp

Вопрос:

Холст UWP имеет систему координат, начинающуюся с (0,0) в левом верхнем углу элемента управления. Как изменить координаты так, чтобы (0, 0) отображалось в правом нижнем углу холста?

Ответ №1:

(0, 0) всегда относится к верхнему левому углу Canvas .

Если вы хотите, чтобы дочерний элемент управления отображался в правом нижнем углу, вам следует рассчитать координаты на основе размера Canvas и самого элемента управления:

 Button child = new Button { Content = "Click me!", Height = 33, Width = 78}; Canvas.SetTop(child, canvas.Height - child.Height); Canvas.SetLeft(child, canvas.Width - child.Width); canvas.Children.Add(child);  

XAML:

 lt;Canvas x:Name="canvas" Width="200" Height="200" Background="Yellow" /gt;  

Если вы явно не зададите размер элемента управления, вы можете подождать, пока он не будет отрисован, чтобы получить его размер:

 Button child = new Button { Content = "Click me!" }; canvas.Children.Add(child); child.Loaded  = (s, e) =gt; {  Canvas.SetTop(child, canvas.Height - child.ActualHeight);  Canvas.SetLeft(child, canvas.Width - child.ActualWidth); };  

введите описание изображения здесь