Почему в атрибуте Margin XAML есть четыре компонента, а не два? - PullRequest
7 голосов
/ 13 июля 2011

Когда вы видите атрибут Margin в XAML-файле WPF, он имеет четыре компонента. Почему это? Первые два компонента имеют смысл, они смещены от верхнего левого окна, но что это для третьего и четвертого компонентов, когда у нас есть Ширина и Высота?

<Grid>
        <Button Content="Button" Height="27" HorizontalAlignment="Left" Margin="29,27,0,0" Name="clickButton" VerticalAlignment="Top" Width="86" Click="clickButton_Click" />
        <TextBox Height="27" HorizontalAlignment="Left" Margin="29,90,0,0" Name="textBoxOut" VerticalAlignment="Top" Width="276" />
</Grid>

Ответы [ 3 ]

16 голосов
/ 13 июля 2011

Маржа всегда состоит из четырех компонентов: слева, сверху, справа и снизу. Два компонента - это просто сокращение, когда top = bottom и left = right. И один компонент - это сокращение, когда все четыре компонента одинаковы.

Здесь - хорошее объяснение полей и отступов.

13 голосов
/ 13 июля 2011

Поля могут быть разными со всех сторон элемента. Поэтому четыре элемента:

Margin="left,top,right,bottom"

см. Здесь:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.margin.aspx

7 голосов
/ 13 июля 2011

При указании поля в XAML вы можете указать 1, 2 или 4 параметра.

Если указать 1 (например, Margin="10"), то это значение будет применено ко всем сторонам.

Если указать 2 (например, Margin="10, 20"), то первое значение применяется слева и справа, а второе - сверху и снизу.

Если указать 4 (например, Margin="10,20,30,40"), то первое значение будет применено к левой стороне, второе значение будет применено к верхней части, третье - к правой, а затем четвертому к нижней части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...