Как задать поля влево и вправо для центрирования пользовательского элемента управления?

#c# #.net #wpf

#c# #.net #wpf

Вопрос:

 
myUserControl = new myUserControl(this);
myUserControl.Margin = new Thickness(300, 0, -300, 0);
mainDockPanel.Children.Add(myUserControl);
DockPanel.SetDock(myUserControl, Dock.Top);
  

Я хотел бы, чтобы MyUserControl находился в центре экрана, даже когда пользователь разворачивает окно.
Думаю, я мог бы это сделать, если бы приведенный выше код работал u .U
Есть идеи? Спасибо.

Комментарии:

1. Поля — неподходящий инструмент, вам понадобится что-то с ‘center’ в названии

Ответ №1:

Почему бы вам просто не использовать HorizontalAlignment="Center" и VerticalAlignment="Center" с фиксированной шириной или фиксированным полем?

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

 myUserControl = new myUserControl(this);
Grid grid = new Grid();
myUserControl.HorizontalAlignment = HorizontalAlignment.Center;
myUserControl.VerticalAlignment = VerticalAlignment.Center;
grid.Children.Add(myUserControl);
mainDockPanel.Children.Add(grid);
DockPanel.SetDock(grid, Dock.Top);