FrameworkElement.Margin Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur margin luar FrameworkElement.
public:
property Thickness Margin { Thickness get(); void set(Thickness value); };
Thickness Margin();
void Margin(Thickness value);
public Thickness Margin { get; set; }
var thickness = frameworkElement.margin;
frameworkElement.margin = thickness;
Public Property Margin As Thickness
<frameworkElement Margin="uniform"/>
- or -
<frameworkElement Margin="left+right,top+bottom"/>
- or -
<frameworkElement Margin="left,top,right,bottom"/>
Nilai Properti
Menyediakan nilai margin untuk objek. Nilai default adalah Ketebalan default dengan semua properti (dimensi) sama dengan 0.
Contoh
Contoh ini diatur Margin
dalam kode sebagai bagian dari skenario yang lebih besar dalam membuat elemen UI pada durasi, lalu mengatur berbagai properti terkait tata letak. Ini sering dilakukan sebelum menambahkan elemen baru ke pohon objek halaman UI XAML yang ada. Dalam hal ini beberapa properti Margin diatur menggunakan Ketebalan baru yang dibuat dengan konstruktor nilai seragam.
public Page()
{
InitializeComponent();
LayoutDesign();
}
private void LayoutDesign()
{
//Create Stackpanel for ListBox Control and its description
StackPanel DeptStackPanel = new StackPanel();
DeptStackPanel.Margin = new Thickness(10);
LayoutRoot.Children.Add(DeptStackPanel);
Grid.SetColumn(DeptStackPanel, 1);
Grid.SetRow(DeptStackPanel, 1);
TextBlock DeptListHeading = new TextBlock();
DeptListHeading.Text = "Department";
ListBox DeptList = new ListBox();
DeptList.Items.Add("Finance");
DeptList.Items.Add("Marketing");
DeptList.Items.Add("Human Resources");
DeptList.Items.Add("Payroll");
DeptStackPanel.Children.Add(DeptListHeading);
DeptStackPanel.Children.Add(DeptList);
//Create StackPanel for buttons
StackPanel ButtonsStackPanel = new StackPanel();
ButtonsStackPanel.Margin = new Thickness(10);
ButtonsStackPanel.Orientation = Orientation.Horizontal;
ButtonsStackPanel.HorizontalAlignment = HorizontalAlignment.Center;
LayoutRoot.Children.Add(ButtonsStackPanel);
Grid.SetColumn(ButtonsStackPanel, 0);
Grid.SetRow(ButtonsStackPanel, 2);
Grid.SetColumnSpan(ButtonsStackPanel, 2);
Button BackButton = new Button();
BackButton.Content = "Back";
BackButton.Width = 100;
Button CancelButton = new Button();
CancelButton.Content = "Cancel";
CancelButton.Width = 100;
Button NextButton = new Button();
NextButton.Content = "Next";
NextButton.Width = 100;
ButtonsStackPanel.Children.Add(BackButton);
ButtonsStackPanel.Children.Add(CancelButton);
ButtonsStackPanel.Children.Add(NextButton);
BackButton.Margin = new Thickness(10);
CancelButton.Margin = new Thickness(10);
NextButton.Margin = new Thickness(10);
}
}
Keterangan
Perilaku dan tata letak margin
Nilai margin yang lebih besar dari 0
menerapkan ruang di luar ActualWidth dan ActualHeight objek.
Margin bersifat aditif untuk objek serekan dalam tata letak; misalnya, dua objek yang berdekatan secara horizontal atau vertikal keduanya dengan margin 30
set pada tepi yang berdekatan akan memiliki 60 piksel ruang di antaranya.
Objek yang memiliki margin yang ditetapkan biasanya tidak akan membatasi ukuran Margin yang ditentukan jika ruang persegi panjang yang dialokasikan tidak cukup besar untuk margin ditambah area isi objek. Area konten akan dibatasi sebagai gantinya ketika tata letak dihitung. Satu-satunya kasus di mana margin akan dibatasi juga adalah jika konten sudah dibatasi hingga nol. Namun, perilaku ini pada akhirnya dikendalikan oleh jenis tertentu yang menafsirkan Margin, serta kontainer tata letak objek tersebut.
Nilai negatif untuk dimensi margin diizinkan, tetapi harus digunakan dengan hati-hati (dan menyadari bahwa margin negatif dapat ditafsirkan secara berbeda oleh implementasi tata letak kelas yang berbeda). Margin negatif biasanya mengklip konten objek ke arah tersebut.
Nilai non-integral untuk nilai margin secara teknis diizinkan, tetapi biasanya harus dihindari.
Margin dan Padding
Konsep terkait adalah padding. Untuk objek dan kotak pembatasnya, margin adalah ruang ekstra yang dialokasikan ke bagian luar kotak pembatas saat elemen UI dimuat dan dirender. Padding adalah area di dalam kotak pembatas, dan memengaruhi tata letak konten tambahan atau objek anak di dalam elemen . FrameworkElement tidak menentukan properti padding, Namun, beberapa kelas turunan menentukan Padding
properti . Ini termasuk:
Untuk informasi selengkapnya tentang hubungan antara margin dan padding, lihat Perataan, margin, dan padding atau Menentukan tata letak dengan XAML.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk