Pesanan properti di Margin


218

Jika saya memiliki string seperti itu di XAML:

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

Apa itu Kanan Bawah Atas dan Kiri? 1- kanan 2- atas 3- kiri 4 - bawah

Apakah itu benar?


1
Hasil kedua saat mencari urutan margin WPF, stackoverflow.com/questions/520422/… . kiri bawah kanan atas
— Lukazoid


@ PapaJohn Untuk lebih spesifik ke tautan yang @amit jhadisediakan, lihat bagian berjudul XAML Valuesuntuk margin di tautan itu.
— nam

Jawaban:


403
Margin="1,2,3,4"
  1. Kiri,
  2. Puncak,
  3. Baik,
  4. Bawah

Dimungkinkan juga untuk menentukan hanya dua ukuran seperti ini:

Margin="1,2"
  1. Kiri dan kanan
  2. Atas dan bawah

Akhirnya Anda dapat menentukan satu ukuran:

Margin="1"
  1. digunakan untuk semua sisi

Urutannya sama dengan di WinForms.


5
LTRB adalah notasi singkat untuk diingat dengan mudah.
— Sai

44
Catatan: ini adalah urutan yang berbeda dari urutan css html, yaitu Atas, Kanan, Bawah, Kiri.
— Ruskin

7
Adakah yang tahu mengapa mereka memutuskan untuk menggunakan sesuatu yang berbeda dari CSS?
— Charles Clayton

5
@crclayton - Seperti yang saya tulis; urutannya sama seperti di WinForms. WinForms adalah pendahulu alami untuk WPF sehingga perangkat lunak (pengembang) akan meningkatkan dari WinForms ke WPF.
— Erno

30
Bagaimana tentang. WPF dimulai di Barat. Netscape dimulai di Utara? Dan jelas searah jarum jam untuk keduanya.
— Martin Capodici

33

Ada tiga situasi unik:

  • 4 angka , mis Margin="a,b,c,d".
  • 2 angka , mis Margin="a,b".
  • 1 angka , mis Margin="a".

4 Angka

Jika ada 4 angka , maka left, top, right, bottom(lingkaran searah jarum jam dimulai dari margin kiri tengah). Nomor pertama selalu "Barat" seperti "WPF":

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

Contoh: jika kita menggunakannya Margin="10,20,30,40"menghasilkan:

masukkan deskripsi gambar di sini

2 Angka

Jika ada 2 angka , maka yang pertama adalah ketebalan margin kiri & kanan, yang kedua adalah ketebalan margin atas & bawah. Nomor pertama selalu "Barat" seperti "WPF":

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

Contoh: jika kita gunakan Margin="10,30", margin kiri & kanan sama-sama 10, dan bagian atas & bawah sama-sama 30.

masukkan deskripsi gambar di sini

1 angka

Jika ada 1 angka , maka angka itu diulangi (intinya adalah ketebalan perbatasan).

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

Contoh: jika kita menggunakannya Margin="20"menghasilkan:

masukkan deskripsi gambar di sini

Perbarui 2020-05-27

Telah bekerja pada aplikasi WPF skala besar selama 5 tahun terakhir dengan lebih dari 100 layar. Bagian dari tim 5 WPF / C # / Java devs. Kami akhirnya memutuskan untuk menggunakan 1 angka (untuk ketebalan perbatasan) atau 4 angka. Kami tidak pernah menggunakan 2. Ini konsisten, dan tampaknya menjadi cara yang baik untuk mengurangi beban kognitif saat berkembang.


Peraturan:

Semua angka lebar dimulai di sebelah kiri ("Barat" seperti "WPF") dan bergerak searah jarum jam (jika dua angka, hanya searah jarum jam dua kali, lalu mirror sisanya).


1
"Jika ada 2 angka, maka yang pertama adalah ketebalan margin kiri & kanan" Tetapi dalam contoh angka pertama adalah 30, dan akhirnya menjadi margin atas & bawah.
— Peter Bruins

21

Hanya karena komentar @MartinCapodici luar biasa, saya menulis di sini sebagai jawaban untuk memberikan visibilitas.

Semua searah jarum jam:

  • W PF mulai W est (kiri-> atas-> kanan-> bawah)
  • N etscape (yaitu CSS) mulai N orth (atas-> kanan-> bawah-> kiri)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.