Onay kutusu, kullanıcının seçebileceği (işaretleyebileceği) veya temizleyebileceği (işareti kaldırabileceği) bir kontroldür. Bir uygulamaya uygulanacak ayarlar listesi gibi, kullanıcının seçebileceği seçeneklerin bir listesini sağlar. Checkbox sınıfının hiyerarşik mirası aşağıdaki gibidir -
Sr.No. | Özellik ve Açıklama |
---|---|
1 | Background Denetimin arka planını sağlayan bir fırça alır veya ayarlar. (Control'den devralındı) |
2 | BorderBrush Bir denetimin kenarlık dolgusunu tanımlayan bir fırça alır veya ayarlar. (Control'den devralındı) |
3 | BorderThickness Bir denetimin kenarlık kalınlığını alır veya ayarlar. (Control'den devralındı) |
4 | Content Bir ContentControl içeriğini alır veya ayarlar. (ContentControl'den devralındı) |
5 | ClickMode Cihaz davranışı açısından Click olayının ne zaman gerçekleştiğini gösteren bir değer alır veya ayarlar. (ButtonBase'den devralındı) |
6 | ContentTemplate ContentControl içeriğini görüntülemek için kullanılan veri şablonunu alır veya ayarlar. (ContentControl'den devralındı) |
7 | FontFamily Denetimdeki metni görüntülemek için kullanılan yazı tipini alır veya ayarlar. (Control'den devralındı) |
8 | FontSize Bu denetimdeki metnin boyutunu alır veya ayarlar. (Control'den devralındı) |
9 | FontStyle Metnin işlendiği stili alır veya ayarlar. (Control'den devralındı) |
10 | FontWeight Belirtilen yazı tipinin kalınlığını alır veya ayarlar. (Control'den devralındı) |
11 | Foreground Ön plan rengini tanımlayan bir fırça alır veya ayarlar. (Control'den devralındı) |
12 | Height Bir FrameworkElement önerilen yüksekliğini alır veya ayarlar. (FrameworkElement'ten devralındı) |
13 | HorizontalAlignment Panel veya öğeler denetimi gibi bir düzen üst öğesinde oluşturulduğunda bir FrameworkElement öğesine uygulanan yatay hizalama özelliklerini alır veya ayarlar. (FrameworkElement'ten devralındı) |
14 | IsChecked ToggleButton öğesinin işaretli olup olmadığını alır veya ayarlar. (ToggleButton'dan devralındı) |
15 | IsEnabled Kullanıcının denetimle etkileşime girip giremeyeceğini gösteren bir değer alır veya ayarlar. (Control'den devralındı) |
16 | IsPressed Bir ButtonBase'in şu anda basılı durumda olup olmadığını gösteren bir değer alır. (ButtonBase'den devralındı) |
17 |
IsThreeState Denetimin üç durumu destekleyip desteklemediğini gösteren bir değer alır veya ayarlar. (ToggleButton'dan devralındı) |
18 | Margin Bir FrameworkElement öğesinin dış kenar boşluğunu alır veya ayarlar. (FrameworkElement'ten devralındı) |
19 | Name Nesnenin tanımlayıcı adını alır veya ayarlar. Bir XAML işlemcisi, XAML işaretlemesinden nesne ağacını oluşturduğunda, çalışma zamanı kodu bu adla XAML tarafından bildirilen nesneye başvurabilir. (FrameworkElement'ten devralındı) |
20 | Opacity Nesnenin opaklık derecesini alır veya ayarlar. (UIElement'ten devralındı) |
21 | Resources Yerel olarak tanımlanmış kaynak sözlüğünü alır. XAML'de, kaynak öğelerini bir frameworkElement öğesinin alt nesne öğeleri olarak oluşturabilirsiniz. Resources özelliği öğesi, XAML örtük koleksiyon sözdizimi aracılığıyla. (FrameworkElement'ten devralındı) |
22 | Style Düzen ve oluşturma sırasında bu nesne için uygulanan bir örnek Stilini alır veya ayarlar. (FrameworkElement'ten devralındı) |
23 | Template Bir kontrol şablonu alır veya ayarlar. Denetim şablonu, kullanıcı arabirimindeki bir denetimin görsel görünümünü tanımlar ve XAML biçimlendirmesinde tanımlanır. (Control'den devralındı) |
24 | VerticalAlignment Panel veya öğeler denetimi gibi bir üst nesnede oluşturulduğunda bir FrameworkElement öğesine uygulanan dikey hizalama özelliklerini alır veya ayarlar. (FrameworkElement'ten devralındı) |
25 | Visibility Bir UIElement görünürlüğünü alır veya ayarlar. Görünmeyen bir UIElement işlenmez ve istenen boyutunu düzene bildirmez. (UIElement'ten devralındı) |
26 | Width Bir FrameworkElement genişliğini alır veya ayarlar. (FrameworkElement'ten devralındı) |
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | ClearValue Bir bağımlılık özelliğinin yerel değerini temizler. (DependencyObject'ten devralındı) |
2 | FindName Belirtilen tanımlayıcı adına sahip bir nesneyi alır. (FrameworkElement'ten devralındı) |
3 | OnApplyTemplate Uygulama kodu veya dahili işlemler (yeniden oluşturma düzeni geçişi gibi) ApplyTemplate çağrıldığında çağrılır. En basit ifadeyle bu, yöntemin uygulamanızda bir UI öğesi görüntülenmeden hemen önce çağrıldığı anlamına gelir. Bir sınıfın varsayılan şablon sonrası mantığını etkilemek için bu yöntemi geçersiz kılın. (FrameworkElement'ten devralındı) |
4 | OnContentChanged İçerik özelliğinin değeri değiştiğinde çağrılır. (ContentControl'den devralındı) |
5 | OnDragEnter DragEnter olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
6 | OnDragLeave DragLeave olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
7 | OnDragOver DragOver olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
8 | OnDrop Drop olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
9 | OnGotFocus GotFocus olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
10 | OnKeyDown KeyDown olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
11 | OnKeyUp KeyUp olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
12 | OnLostFocus LostFocus olayı gerçekleşmeden önce çağrılır. (Control'den devralındı) |
13 | OnToggle ToggleButton, geçiş uyarısı aldığında çağrılır. (ToggleButton'dan devralındı) |
14 | SetBinding Sağlanan bağlama nesnesini kullanarak FrameworkElement'e bir bağlama ekler. (FrameworkElement'ten devralındı) |
Sr.No. | Etkinlik Açıklaması |
---|---|
1 | Checked Bir ToggleButton işaretlendiğinde tetiklenir. (ToggleButton'dan devralındı) |
2 | Click Bir düğme kontrolüne tıklandığında gerçekleşir. (ButtonBase'den devralındı) |
3 | DataContextChanged FrameworkElement.DataContext özelliğinin değeri değiştiğinde gerçekleşir. (FrameworkElement'ten devralındı) |
4 | DragEnter Giriş sistemi, hedef olarak bu öğeyle temeldeki bir sürükleme olayını bildirdiğinde gerçekleşir. (UIElement'ten devralındı) |
5 | DragLeave Giriş sistemi, başlangıç noktası olarak bu öğe ile temeldeki bir sürükleme olayını bildirdiğinde gerçekleşir. (UIElement'ten devralındı) |
6 | DragOver Giriş sistemi, potansiyel bırakma hedefi olarak bu öğeyle temelde yatan bir sürükleme olayını bildirdiğinde gerçekleşir. (UIElement'ten devralındı) |
7 | DragStarting Bir sürükleme işlemi başlatıldığında gerçekleşir. (UIElement'ten devralındı) |
8 | GotFocus Bir UIElement odak aldığında oluşur. (UIElement'ten devralındı) |
9 | Holding Bu öğenin vuruş testi alanı üzerinde başka türlü işlenmeyen bir Hold etkileşimi gerçekleştiğinde oluşur. (UIElement'ten devralındı) |
10 | Intermediate Bir ToggleButton durumu belirsiz duruma geçtiğinde ateşlenir. (ToggleButton'dan devralındı) |
11 | IsEnabledChanged IsEnabled özelliği değiştiğinde gerçekleşir. (Control'den devralındı) |
12 | KeyDown UIElement odaklanmışken bir klavye tuşuna basıldığında oluşur. (UIElement'ten devralındı) |
13 | KeyUp UIElement odak varken bir klavye tuşu bırakıldığında oluşur. (UIElement'ten devralındı) |
14 | LostFocus UIElement odağı kaybettiğinde ortaya çıkar. (UIElement'ten devralındı) |
15 | SizeChanged ActualHeight veya ActualWidth özelliği bir FrameworkElement üzerindeki değeri değiştirdiğinde gerçekleşir. (FrameworkElement'ten devralındı) |
16 | Unchecked Bir ToggleButton işaretli olmadığında ortaya çıkar. (ToggleButton'dan devralındı) |
Adıyla yeni bir WPF projesi oluşturalım WPFCheckBoxControl.
Bir araç kutusundan iki onay kutusunu ve iki metin kutusunu sürükleyin ve özellikler penceresinde aşağıdaki özellikleri ayarlayın.
Kontroller | Emlak | Değer |
---|---|---|
Onay kutusu1 | İçerik | İki Devlet |
İsim | checkBox1 | |
Genişlik | 90 | |
Onay Kutusu2 | İçerik | Üç Devlet |
İsim | checkBox2 | |
Genişlik | 90 | |
metin kutusu1 | İsim | textBox1 |
Genişlik | 300 | |
Metin Kutusu2 | İsim | textBox2 |
Genişlik | 300 |
Şimdi, onay kutuları ve metin kutuları için XAML etiketlerini göreceğiniz XAML penceresine geçin.
Aşağıdaki XAML kodunda gösterildiği gibi bazı daha fazla özellik ve seçim olayı ekleyin.
<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>
İşte implementation in C# farklı etkinlikler için -
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.";
}
}
}
Yukarıdaki kodu derleyip çalıştırdığınızda, aşağıdaki pencereyi üretecektir. Onay kutularını işaretlediğinizde / işaretini kaldırdığınızda, metin bloğunu buna göre güncelleyecektir.
Yukarıdaki örnek kodu çalıştırmanızı ve onay kutusu kontrolünün diğer bazı özelliklerini ve olaylarını denemenizi öneririz.