Immobilienbestellung in Margin


218

Wenn ich eine solche Zeichenfolge in XAML habe:

Storyboard.TargetProperty="Margin" From="1,2,3,4" To="0,0,0,0"

Was ist oben unten rechts und links? 1- rechts 2- oben 3- links 4 - unten

Ist das richtig?


1
Zweites Ergebnis bei der Suche nach WPF-Margin-Reihenfolge: stackoverflow.com/questions/520422/… . links oben rechts unten
— Lukazoid


@PapaJohn Um genauer auf den @amit jhabereitgestellten Link einzugehen, lesen Sie den Abschnitt mit XAML Valuesdem Titel für den Rand in diesem Link.
— Nam

Antworten:


403
Margin="1,2,3,4"
  1. Links,
  2. Oben,
  3. Richtig,
  4. Unterseite

Es ist auch möglich, nur zwei Größen wie diese anzugeben:

Margin="1,2"
  1. Links und rechts
  2. Oben und unten

Schließlich können Sie eine einzelne Größe angeben:

Margin="1"
  1. für alle Seiten verwendet

Die Reihenfolge ist dieselbe wie in WinForms.


5
LTRB ist die Kurznotation, an die man sich leicht erinnern kann.
— Sai

44
Hinweis: Dies ist eine andere Reihenfolge als die CSS-Reihenfolge von HTML: Oben, Rechts, Unten, Links.
— Ruskin

7
Hat jemand einen Einblick, warum er sich für etwas anderes als CSS entschieden hat?
— Charles Clayton

5
@crclayton - Wie ich schrieb; Die Reihenfolge ist dieselbe wie in WinForms. WinForms ist der natürliche Vorgänger von WPF, sodass Software (Entwickler) von WinForms auf WPF aktualisieren würde.
— Erno

30
Wie wäre es mit. WPF startet im Westen. Netscape startet im Norden? Und natürlich für beide im Uhrzeigersinn.
— Martin Capodici

33

Es gibt drei einzigartige Situationen:

  • 4 Zahlen , z Margin="a,b,c,d".
  • 2 Zahlen , z Margin="a,b".
  • 1 Nummer , z Margin="a".

4 Zahlen

Wenn es 4 Zahlen , dann wird sie left, top, right, bottom(ein Kreis im Uhrzeigersinn von der Mitte linken Rande ausgehend). Die erste Nummer ist immer der "Westen" wie "WPF":

<object Margin="left,top,right,bottom"/>

Beispiel: Wenn wir es verwenden, wird Margin="10,20,30,40"Folgendes generiert:

Geben Sie hier die Bildbeschreibung ein

2 Zahlen

Wenn es 2 Zahlen gibt , ist die erste die Dicke des linken und rechten Randes, die zweite die Dicke des oberen und unteren Randes. Die erste Nummer ist immer der "Westen" wie "WPF":

<object Margin="a,b"/> // Equivalent to Margin="a,b,a,b".

Beispiel: Wenn wir verwenden Margin="10,30", sind der linke und der rechte Rand beide 10 und der obere und untere Rand beide 30.

Geben Sie hier die Bildbeschreibung ein

1 Nummer

Wenn es 1 Zahl gibt , wird die Zahl wiederholt (es ist im Wesentlichen eine Randdicke).

<object Margin="a"/> // Equivalent to Margin="a,a,a,a".

Beispiel: Wenn wir es verwenden, wird Margin="20"Folgendes generiert:

Geben Sie hier die Bildbeschreibung ein

Update 2020-05-27

Ich habe in den letzten 5 Jahren an einer groß angelegten WPF-Anwendung mit über 100 Bildschirmen gearbeitet. Teil eines Teams von 5 WPF / C # / Java-Entwicklern. Wir haben uns schließlich dafür entschieden, entweder 1 Zahl (für die Randdicke) oder 4 Zahlen zu verwenden. Wir verwenden niemals 2. Es ist konsistent und scheint ein guter Weg zu sein, um die kognitive Belastung bei der Entwicklung zu reduzieren.


Die Regel:

Alle Breitenzahlen beginnen links (der "Westen" wie "WPF") und gehen im Uhrzeigersinn (wenn zwei Zahlen, gehen Sie nur zweimal im Uhrzeigersinn, dann spiegeln Sie den Rest).


1
"Wenn es 2 Zahlen gibt, ist die erste die Dicke des linken und rechten Randes." Im Beispiel ist die erste Zahl jedoch 30 und endet am oberen und unteren Rand.
— Peter Bruins

21

Nur weil der Kommentar von @MartinCapodici großartig ist, schreibe ich hier als Antwort, um die Sichtbarkeit zu verbessern.

Alles im Uhrzeigersinn:

  • W PF beginnen W est (links-> top-> rechts-> unten)
  • N etscape (dh CSS) startet N orth (oben-> rechts-> unten-> links)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.