Kotak centang adalah kontrol yang dapat dipilih pengguna (centang) atau hapus (hapus centang). Ini memberikan daftar opsi yang dapat dipilih pengguna, seperti daftar pengaturan untuk diterapkan ke aplikasi. Pewarisan hierarki kelas Kotak centang adalah sebagai berikut -
Sr.No. | Deskripsi properti |
---|---|
1 | Background Mendapat atau menyetel kuas yang menyediakan latar belakang kontrol. (Diwariskan dari Kontrol) |
2 | BorderBrush Mendapat atau menyetel kuas yang mendeskripsikan pengisian batas dari sebuah kontrol. (Diwariskan dari Kontrol) |
3 | BorderThickness Mendapat atau menyetel ketebalan batas kontrol. (Diwariskan dari Kontrol) |
4 | Content Mendapat atau menyetel konten ContentControl. (Diwariskan dari ContentControl) |
5 | ClickMode Mendapat atau menetapkan nilai yang menunjukkan saat peristiwa Klik terjadi, dalam hal perilaku perangkat. (Diwariskan dari ButtonBase) |
6 | ContentTemplate Mendapat atau menyetel template data yang digunakan untuk menampilkan konten ContentControl. (Diwariskan dari ContentControl) |
7 | FontFamily Mendapat atau menyetel font yang digunakan untuk menampilkan teks dalam kontrol. (Diwariskan dari Kontrol) |
8 | FontSize Mendapat atau menyetel ukuran teks dalam kontrol ini. (Diwariskan dari Kontrol) |
9 | FontStyle Mendapat atau menyetel gaya di mana teks dirender. (Diwariskan dari Kontrol) |
10 | FontWeight Mendapat atau menyetel ketebalan font yang ditentukan. (Diwariskan dari Kontrol) |
11 | Foreground Mendapat atau menyetel kuas yang mendeskripsikan warna latar depan. (Diwariskan dari Kontrol) |
12 | Height Mendapat atau menyetel ketinggian FrameworkElement yang disarankan. (Diwariskan dari FrameworkElement) |
13 | HorizontalAlignment Mendapat atau menyetel karakteristik penyelarasan horizontal yang diterapkan ke FrameworkElement saat disusun dalam induk tata letak, seperti panel atau kontrol item. (Diwariskan dari FrameworkElement) |
14 | IsChecked Mendapat atau menyetel apakah ToggleButton dicentang. (Diwariskan dari ToggleButton) |
15 | IsEnabled Mendapat atau menetapkan nilai yang menunjukkan apakah pengguna dapat berinteraksi dengan kontrol. (Diwariskan dari Kontrol) |
16 | IsPressed Mendapat nilai yang menunjukkan apakah ButtonBase saat ini dalam keadaan ditekan. (Diwariskan dari ButtonBase) |
17 |
IsThreeState Mendapat atau menetapkan nilai yang menunjukkan apakah kontrol mendukung tiga status. (Diwariskan dari ToggleButton) |
18 | Margin Mendapat atau menetapkan margin luar FrameworkElement. (Diwariskan dari FrameworkElement) |
19 | Name Mendapat atau menetapkan nama pengenal objek. Ketika prosesor XAML membuat pohon objek dari markup XAML, kode waktu proses dapat merujuk ke objek yang dideklarasikan XAML dengan nama ini. (Diwariskan dari FrameworkElement) |
20 | Opacity Mendapat atau menyetel derajat opasitas objek. (Diwariskan dari UIElement) |
21 | Resources Mendapatkan kamus sumber daya yang ditentukan secara lokal. Di XAML, Anda dapat menetapkan item sumber daya sebagai elemen objek turunan dari frameworkElement. Sumber daya elemen properti, melalui sintaks koleksi implisit XAML. (Diwariskan dari FrameworkElement) |
22 | Style Mendapat atau menyetel Gaya instance yang diterapkan untuk objek ini selama tata letak dan rendering. (Diwariskan dari FrameworkElement) |
23 | Template Mendapat atau menyetel template kontrol. Template kontrol mendefinisikan tampilan visual dari kontrol di UI, dan ditentukan dalam markup XAML. (Diwariskan dari Kontrol) |
24 | VerticalAlignment Mendapat atau menyetel karakteristik penyelarasan vertikal yang diterapkan ke FrameworkElement saat disusun dalam objek induk seperti panel atau kontrol item. (Diwariskan dari FrameworkElement) |
25 | Visibility Mendapat atau menyetel visibilitas UIElement. UIElement yang tidak terlihat tidak dirender dan tidak mengomunikasikan ukuran yang diinginkan ke tata letak. (Diwariskan dari UIElement) |
26 | Width Mendapat atau menyetel lebar FrameworkElement. (Diwariskan dari FrameworkElement) |
Sr.No. | Metode & Deskripsi |
---|---|
1 | ClearValue Menghapus nilai lokal dari properti ketergantungan. (Diwariskan dari DependencyObject) |
2 | FindName Mengambil objek yang memiliki nama pengenal yang ditentukan. (Diwariskan dari FrameworkElement) |
3 | OnApplyTemplate Dipanggil setiap kali kode aplikasi atau proses internal (seperti pass tata letak pembangunan kembali) memanggil ApplyTemplate. Sederhananya, ini berarti metode dipanggil tepat sebelum elemen UI ditampilkan di aplikasi Anda. Ganti metode ini untuk memengaruhi logika post-template default kelas. (Diwariskan dari FrameworkElement) |
4 | OnContentChanged Dipanggil ketika nilai properti Konten berubah. (Diwariskan dari ContentControl) |
5 | OnDragEnter Dipanggil sebelum acara DragEnter terjadi. (Diwariskan dari Kontrol) |
6 | OnDragLeave Dipanggil sebelum acara DragLeave terjadi. (Diwariskan dari Kontrol) |
7 | OnDragOver Dipanggil sebelum acara DragOver terjadi. (Diwariskan dari Kontrol) |
8 | OnDrop Dipanggil sebelum event Drop terjadi. (Diwariskan dari Kontrol) |
9 | OnGotFocus Dipanggil sebelum acara GotFocus terjadi. (Diwariskan dari Kontrol) |
10 | OnKeyDown Dipanggil sebelum acara KeyDown terjadi. (Diwariskan dari Kontrol) |
11 | OnKeyUp Dipanggil sebelum acara KeyUp terjadi. (Diwariskan dari Kontrol) |
12 | OnLostFocus Dipanggil sebelum acara LostFocus terjadi. (Diwariskan dari Kontrol) |
13 | OnToggle Dipanggil saat ToggleButton menerima stimulus toggle. (Diwariskan dari ToggleButton) |
14 | SetBinding Melampirkan pengikatan ke FrameworkElement, menggunakan objek pengikatan yang disediakan. (Diwariskan dari FrameworkElement) |
Sr.No. | Deskripsi acara |
---|---|
1 | Checked Kebakaran saat ToggleButton dicentang. (Diwariskan dari ToggleButton) |
2 | Click Terjadi saat kontrol tombol diklik. (Diwariskan dari ButtonBase) |
3 | DataContextChanged Terjadi ketika nilai properti FrameworkElement.DataContext berubah. (Diwariskan dari FrameworkElement) |
4 | DragEnter Terjadi saat sistem masukan melaporkan peristiwa tarik yang mendasari dengan elemen ini sebagai target. (Diwariskan dari UIElement) |
5 | DragLeave Terjadi saat sistem masukan melaporkan peristiwa tarik yang mendasari dengan elemen ini sebagai asalnya. (Diwariskan dari UIElement) |
6 | DragOver Terjadi saat sistem masukan melaporkan peristiwa tarik yang mendasari dengan elemen ini sebagai potensi target penurunan. (Diwariskan dari UIElement) |
7 | DragStarting Terjadi saat operasi seret dimulai. (Diwariskan dari UIElement) |
8 | GotFocus Terjadi saat UIElement menerima fokus. (Diwariskan dari UIElement) |
9 | Holding Terjadi ketika interaksi Tahan yang tidak tertangani terjadi di area uji hit elemen ini. (Diwariskan dari UIElement) |
10 | Intermediate Kebakaran ketika status ToggleButton dialihkan ke keadaan tak tentu. (Diwariskan dari ToggleButton) |
11 | IsEnabledChanged Terjadi saat properti IsEnabled berubah. (Diwariskan dari Kontrol) |
12 | KeyDown Terjadi saat tombol keyboard ditekan saat UIElement memiliki fokus. (Diwariskan dari UIElement) |
13 | KeyUp Terjadi saat tombol keyboard dilepaskan saat UIElement memiliki fokus. (Diwariskan dari UIElement) |
14 | LostFocus Terjadi saat UIElement kehilangan fokus. (Diwariskan dari UIElement) |
15 | SizeChanged Terjadi ketika properti ActualHeight atau ActualWidth mengubah nilai pada FrameworkElement. (Diwariskan dari FrameworkElement) |
16 | Unchecked Terjadi saat ToggleButton tidak dicentang. (Diwariskan dari ToggleButton) |
Mari buat proyek WPF baru dengan nama WPFCheckBoxControl.
Seret dua kotak centang dan dua kotak teks dari kotak alat dan setel properti berikut di jendela properti.
Kontrol | Properti | Nilai |
---|---|---|
Kotak centang 1 | Kandungan | Dua Negara |
Nama | kotak centang1 | |
Lebar | 90 | |
Kotak centang2 | Kandungan | Tiga Negara |
Nama | kotak centang2 | |
Lebar | 90 | |
kotak teks1 | Nama | textBox1 |
Lebar | 300 | |
Kotak teks2 | Nama | textBox2 |
Lebar | 300 |
Sekarang beralih ke jendela XAML di mana Anda akan melihat tag XAML untuk kotak centang dan kotak teks.
Tambahkan beberapa properti dan acara seleksi seperti yang ditunjukkan pada kode XAML berikut.
<Window x:Class = "WPFCheckBoxControl.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local = "clr-namespace:WPFCheckBoxControl"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<CheckBox x:Name = "checkBox1" Content = "Two States" HorizontalAlignment = "Left"
Margin = "80,70,0,0" VerticalAlignment = "Top" Checked = "HandleCheck"
Unchecked = "HandleUnchecked" Width = "90"/>
<CheckBox x:Name = "checkBox2" Content = "Three States"
HorizontalAlignment = "Left" Margin = "80,134,0,0" VerticalAlignment = "Top"
Width = "90" IsThreeState = "True" Indeterminate = "HandleThirdState"
Checked = "HandleCheck" Unchecked = "HandleUnchecked"/>
<TextBox x:Name = "textBox1" HorizontalAlignment = "Left"
Height = "23" Margin = "236,68,0,0" TextWrapping = "Wrap"
VerticalAlignment = "Top" Width = "300"/>
<TextBox x:Name = "textBox2" HorizontalAlignment = "Left"
Height = "23" Margin = "236,135,0,0" TextWrapping = "Wrap"
VerticalAlignment = "Top" Width = "300"/>
</Grid>
</Window>
Ini dia implementation in C# untuk berbagai acara -
using System.Windows;
using System.Windows.Controls;
namespace WPFCheckBoxControl {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void HandleCheck(object sender, RoutedEventArgs e) {
CheckBox cb = sender as CheckBox;
if (cb.Name == "checkBox1") textBox1.Text = "2 state CheckBox is checked.";
else textBox2.Text = "3 state CheckBox is checked.";
}
private void HandleUnchecked(object sender, RoutedEventArgs e) {
CheckBox cb = sender as CheckBox;
if (cb.Name == "checkBox1") textBox1.Text = "2 state CheckBox is unchecked.";
else textBox2.Text = "3 state CheckBox is unchecked.";
}
private void HandleThirdState(object sender, RoutedEventArgs e) {
CheckBox cb = sender as CheckBox;
textBox2.Text = "3 state CheckBox is in indeterminate state.";
}
}
}
Ketika Anda mengkompilasi dan menjalankan kode di atas, itu akan menghasilkan jendela berikut. Ketika Anda mencentang / menghapus centang pada kotak centang, itu akan memperbarui blok teks yang sesuai.
Kami menyarankan Anda untuk menjalankan kode contoh di atas dan mencoba beberapa properti dan kejadian lain dari kontrol kotak centang.