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.