Центр окна на WPF
Начинаю изучать WPF, после Forms и возникла одна проблема
Центр формы в конструкторе и в запущенной программе отличаются
Форма с шириной 366,6 (из них 6,6 уходит на рамки окна)
Внутри Grid с 1 колонкой и шириной 360
Прямоугольник с шириной 320 и оступом слева 20 - соответственно должен быть в центре, как и видно в конструкторе
Но в программе прямоугольник не по центру, а смещен вправо немного
Даже если выставить ему отступы 0 и HorizontalAlignment="Center"
Такая мелочь, но сижу с ней уже час и бесит жестко)
<Window x:Class="Box.Box"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Box"
mc:Ignorable="d"
Title="Box" Height="550" Width="366.4" Background="Black">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="360"/>
</Grid.ColumnDefinitions>
<Rectangle Fill="#00F4F4F5" HorizontalAlignment="Center" Height="62" Margin="20,73,20,0" VerticalAlignment="Top" Width="320" RadiusX="10" RadiusY="10" StrokeThickness="3" Stroke="White"/>
</Grid>
UPD
Убрал колонку грида и отступы и стало действительно в центре
Но все еще не понятно почему, если задать жестко отступы, но рассчитанные точно под центр, то прямоугольник смещен
Вот пример:
2 прямоугольника, один центрирован через HorizontalAlignment="Center", а второй через HorizontalAlignment="Left" и отступ слева 20
В конструкторе оба по центру, а программе нет
<Window x:Class="TokenGames.Box"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TokenGames"
mc:Ignorable="d"
Title="Box" Height="550" Width="366.4" Background="Black">
<Grid>
<Rectangle Fill="#00F4F4F5" HorizontalAlignment="Left" Height="62" VerticalAlignment="Top" Width="320" RadiusX="10" RadiusY="10" StrokeThickness="3" Stroke="White" Margin="20,20,0,0"/>
<Rectangle Fill="#00F4F4F5" HorizontalAlignment="Center" Height="62" VerticalAlignment="Top" Width="320" RadiusX="10" RadiusY="10" StrokeThickness="3" Stroke="White" Margin="0,87,0,0"/>
</Grid>