Marjda emlak siparişi


218

XAML'de böyle bir dize varsa:

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

Üst Alt Sağ ve Sol Nedir? 1- sağ 2- üst 3- sol 4 - alt

Bu doğru mu?


1
WPF marj siparişini ararken ikinci sonuç, stackoverflow.com/questions/520422/… . sol üst sağ alt
— Lukazoid


@PapaJohn Sağlanan bağlantıya daha spesifik olmak için, o bağlantıdaki kenar boşluğu @amit jhabaşlıklı bölüme bakın XAML Values.
— nam

Yanıtlar:


403
Margin="1,2,3,4"
  1. Ayrıldı,
  2. Üst,
  3. Sağ,
  4. Alt

Bunun gibi sadece iki boyut belirtmek de mümkündür:

Margin="1,2"
  1. Sol ve sağ
  2. Üst ve alt

Son olarak tek bir boyut belirtebilirsiniz:

Margin="1"
  1. her taraf için kullanılır

Sipariş WinForms'daki ile aynıdır.


5
LTRB kolayca hatırlanması gereken kısa gösterimdir.
— Sai

44
Not: Bu, Üst, Sağ, Alt, Sol olan html'nin css sırasından farklı bir düzendir.
— Ruskin

7
Herkes neden CSS farklı bir şey ile gitmeye karar verdiklerine dair herhangi bir fikir var mı?
— Charles Clayton

5
@crclayton - Yazdığım gibi; sipariş WinForms ile aynıdır. WinForms, WPF'nin doğal öncüsüdür, böylece yazılım (geliştiriciler) WinForms'tan WPF'ye yükselecektir.
— Erno

30
Nasıl? WPF Batı'da başlar. Netscape Kuzey'de mi başlıyor? Ve tabii ki her ikisi için de saat yönünde.
— Martin Capodici

33

Üç benzersiz durum vardır:

  • 4 sayı , örn Margin="a,b,c,d".
  • 2 sayı , örn Margin="a,b".
  • 1 numara , ör Margin="a".

4 Sayı

Varsa 4 sayı daha sonra, onun left, top, right, bottom(orta sol kenardan başlayarak saat yönünde daire). İlk sayı her zaman "WPF" gibi "Batı" dır:

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

Örnek: eğer kullanırsak Margin="10,20,30,40":

resim açıklamasını buraya girin

2 Numara

Varsa 2 sayılar , daha sonra ilk sola ve sağa bir marj kalınlığı, ikinci üst ve alt kenar boşluğu kalınlığıdır. İlk sayı her zaman "WPF" gibi "Batı" dır:

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

Örnek: kullanırsak Margin="10,30", sol ve sağ kenar boşluğunun her ikisi de 10 ve üst ve alt kenarların her ikisi de 30'dur.

resim açıklamasını buraya girin

1 Numara

Varsa 1 sayısı , sayı (kendi temel olarak bir sınır kalınlık) tekrarlanır.

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

Örnek: eğer kullanırsak Margin="20":

resim açıklamasını buraya girin

Güncelleme 2020-05-27

Son 5 yıldır 100'den fazla ekran ile büyük ölçekli bir WPF uygulaması üzerinde çalışıyoruz. 5 WPF / C # / Java devs ekibinin bir parçası. Sonunda 1 sayı (sınır kalınlığı için) veya 4 sayı kullanarak karar verdik. Asla 2 kullanmayız. Tutarlıdır ve gelişirken bilişsel yükü azaltmanın iyi bir yolu gibi görünmektedir.


Kural:

Tüm genişlik numaraları soldan başlar ("WPF" gibi "Batı") ve saat yönünde gider (iki sayı varsa, yalnızca saat yönünde iki kez giderseniz, gerisini aynalayın).


1
"2 sayı varsa, o zaman ilk sol ve sağ kenar boşluğu kalınlığıdır" Ancak örnekte ilk sayı 30'dur ve üst ve alt kenar boşluğu olur.
— Peter Bruins

21

@MartinCapodici'nin yorumu harika olduğu için buraya görünürlük vermek için bir cevap olarak yazıyorum.

Saat yönünde:

  • W PF başlangıç W est (sol-> üst-> sağ-> alt)
  • N etscape (yani CSS) başlangıç N orth (üst-> sağ-> alt-> sol)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.