Remarque: il s'agit d'un ordre différent de l'ordre CSS de html, qui est Haut, Droite, Bas, Gauche.
Ruskin
7
Quelqu'un a-t-il une idée de pourquoi ils ont décidé d'aller avec quelque chose de différent de CSS?
Charles Clayton
5
@crclayton - Comme je l'ai écrit; l'ordre est le même que dans WinForms. WinForms est le prédécesseur naturel de WPF afin que les logiciels (développeurs) passent de WinForms à WPF.
Erno
30
Que diriez-vous. WPF démarre en Occident. Netscape commence dans le Nord? Et évidemment dans le sens horaire pour les deux.
Martin Capodici
33
Il existe trois situations uniques:
4 chiffres , par exemple Margin="a,b,c,d".
2 chiffres , par exemple Margin="a,b".
1 numéro , par exemple Margin="a".
4 numéros
S'il y a 4 chiffres , puis son left, top, right, bottom(un cercle dans le sens horaire à partir de la marge gauche du milieu). Le premier numéro est toujours "l'Ouest" comme "WPF":
<objectMargin="left,top,right,bottom"/>
Exemple: si nous l'utilisons, Margin="10,20,30,40"cela génère:
2 numéros
S'il y a 2 nombres , le premier est l'épaisseur de la marge gauche et droite, le second est l'épaisseur de la marge supérieure et inférieure. Le premier numéro est toujours "l'Ouest" comme "WPF":
<objectMargin="a,b"/> // Equivalent to Margin="a,b,a,b".
Exemple: si nous utilisons Margin="10,30", la marge gauche et droite est à la fois 10, et le haut et le bas sont à la fois 30.
1 numéro
S'il y a 1 nombre , alors le nombre est répété (c'est essentiellement une épaisseur de bordure).
<objectMargin="a"/> // Equivalent to Margin="a,a,a,a".
Exemple: si nous l'utilisons, Margin="20"cela génère:
Mise à jour 2020-05-27
Travaille sur une application WPF à grande échelle depuis 5 ans avec plus de 100 écrans. Membre d'une équipe de 5 développeurs WPF / C # / Java. Nous avons finalement opté soit pour 1 numéro (pour l'épaisseur de la bordure), soit pour 4 numéros. Nous n'en utilisons jamais 2. Il est cohérent et semble être un bon moyen de réduire la charge cognitive lors du développement.
La règle:
Tous les numéros de largeur commencent sur la gauche (le "Ouest" comme "WPF") et vont dans le sens des aiguilles d'une montre (si deux nombres, ne vont que deux fois dans le sens des aiguilles d'une montre, puis reflètent le reste).
"S'il y a 2 nombres, alors le premier est l'épaisseur de la marge gauche et droite" Mais dans l'exemple, le premier nombre est 30, et il finit par être la marge supérieure et inférieure.
Peter Bruins
21
Juste parce que le commentaire de @MartinCapodici est génial, j'écris ici comme réponse pour donner de la visibilité.
Tous dans le sens horaire:
W PF start W est (gauche-> haut-> droite-> bas)
N etscape (ie CSS) start N orth (haut-> droite-> bas-> gauche)
Pour le deuxième exemple, «gauche, haut», il est en fait répété: le premier chiffre fait référence à gauche et à droite, le second en haut et en bas, voir ma réponse ci-dessous.
@amit jha
fourni, regardez la section intituléeXAML Values
pour la marge dans ce lien.Réponses:
Il est également possible de spécifier seulement deux tailles comme ceci:
Enfin, vous pouvez spécifier une seule taille:
L'ordre est le même que dans WinForms.
la source
Il existe trois situations uniques:
Margin="a,b,c,d"
.Margin="a,b"
.Margin="a"
.4 numéros
S'il y a 4 chiffres , puis son
left
,top
,right
,bottom
(un cercle dans le sens horaire à partir de la marge gauche du milieu). Le premier numéro est toujours "l'Ouest" comme "WPF":Exemple: si nous l'utilisons,
Margin="10,20,30,40"
cela génère:2 numéros
S'il y a 2 nombres , le premier est l'épaisseur de la marge gauche et droite, le second est l'épaisseur de la marge supérieure et inférieure. Le premier numéro est toujours "l'Ouest" comme "WPF":
Exemple: si nous utilisons
Margin="10,30"
, la marge gauche et droite est à la fois 10, et le haut et le bas sont à la fois 30.1 numéro
S'il y a 1 nombre , alors le nombre est répété (c'est essentiellement une épaisseur de bordure).
Exemple: si nous l'utilisons,
Margin="20"
cela génère:Mise à jour 2020-05-27
Travaille sur une application WPF à grande échelle depuis 5 ans avec plus de 100 écrans. Membre d'une équipe de 5 développeurs WPF / C # / Java. Nous avons finalement opté soit pour 1 numéro (pour l'épaisseur de la bordure), soit pour 4 numéros. Nous n'en utilisons jamais 2. Il est cohérent et semble être un bon moyen de réduire la charge cognitive lors du développement.
La règle:
la source
Juste parce que le commentaire de @MartinCapodici est génial, j'écris ici comme réponse pour donner de la visibilité.
Tous dans le sens horaire:
la source
Voir ici: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.margin.aspx
la source