W11, VS2022
Я новичок в дизайне пользовательского интерфейса на С#. Я пытаюсь нарисовать элемент управления во время выполнения и не могу найти способ указать его свойства x и y или установить его в точку.
xaml
<Page
x:Class = "App1.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local = "using:App1"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<Grid x:Name = "layoutRoot"></Grid>
</Grid>
</Page>
c# method
public MainPage()
{
this.InitializeComponent();
var ellipse1 = new Ellipse
{
Fill = new SolidColorBrush(Windows.UI.Colors.Pink),
Width = 200,
Height = 200
};
layoutRoot.Children.Add(ellipse1);
}
`
Пробовали setleft, setright и location, но все они отсутствуют.
Заранее спасибо





Измените его на Canvas
var ellipse1 = new Ellipse
{
Fill = new SolidColorBrush(Colors.Pink),
Width = 200,
Height = 200
};
int left = 50, top = 50;
Canvas.SetLeft(ellipse1, left); // second option Canvas.SetRight()
Canvas.SetTop(ellipse1, top); // second option Canvas.SetTop()
layoutRoot.Children.Add(ellipse1);
Обновлено:
<Page
x:Class = "App1.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local = "using:App1"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Canvas x:Name = "layoutRoot">
</Canvas>
</Page>
Пытался изменить выравнивание сетки, но теперь он просто помещает форму в угол. Есть ли что-то особенное, что я должен установить?
Теперь я изменил свой ответ и добавил код xaml, попробуйте, если он работает. Если вы используете Grid, это даст фиксированную позицию для вашего элемента. Используйте Canvas, если вы хотите придать своим элементам определенное положение.
Спасибо, теперь у меня есть параметры SetLeft и SetTop, однако он по-прежнему размещает эллипс в центре окна независимо от того, что я установил сверху и слева: |