TOC

This article has been localized into Turkish by the community.

Temel Kontroller:

RadioButton Kontrolü

RadioButton kontrolü kullanıcıya içinden sadece birini seçebileceği seçenekler sunmanıza yarar. Aynı etkiyi ComboBox kontrolü kullanarak daha az alanda yapabilirsiniz ama bir grup RadioButton kontrolü kullanıcıya hangi seçenekleri olduğunu daha iyi görebilme imkanı sunar.

<Window x:Class="WpfTutorialSamples.Basic_controls.RadioButtonSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="RadioButtonSample" Height="150" Width="250">
	<StackPanel Margin="10">
		<Label FontWeight="Bold">Are you ready?</Label>
		<RadioButton>Yes</RadioButton>
		<RadioButton>No</RadioButton>
		<RadioButton IsChecked="True">Maybe</RadioButton>
	</StackPanel>
</Window>

Tüm yaptığımız bir soru içeren bir Label kontrolü ve her biri olası cevaplardan birini içeren üç RadioButton koymak. Default opsiyonu IsChecked özelliği ile son seçeneğe veriyoruz, kullanıcı diğer seçeneklerden birini tıklayarak seçebilir. Bu aynı zamanda arkaplan kodunda bir RadioButton'un seçili olup olmadığını kontrol için kullanılan özelliktir.

RadioButton grupları

Eğer yukarıdaki örneği çalıştırırsanız , beklendiği gibi sadece bir seçeneği seçebileceğinizi görürsünüz. Fakat ya birden fazla RadioButton grubu varsa, her gruptakiler kendi içinde seçilebilsin. İşte burası hangi RadioBuuton'ların birlikte çalışacağını belirleyen GroupName özelliğinin sahne alacağı yer. İşte bir örnek :

<Window x:Class="WpfTutorialSamples.Basic_controls.RadioButtonSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="RadioButtonSample" Height="230" Width="250">
	<StackPanel Margin="10">
		<Label FontWeight="Bold">Are you ready?</Label>
		<RadioButton GroupName="ready">Yes</RadioButton>
		<RadioButton GroupName="ready">No</RadioButton>
		<RadioButton GroupName="ready" IsChecked="True">Maybe</RadioButton>

		<Label FontWeight="Bold">Male or female?</Label>
		<RadioButton GroupName="sex">Male</RadioButton>
		<RadioButton GroupName="sex">Female</RadioButton>
		<RadioButton GroupName="sex" IsChecked="True">Not sure</RadioButton>
	</StackPanel>
</Window>

Her bir RadioButton kontrolün GroupName özelliğini belirterek iki gruba ayırdık. Bu olamadan toplam 6 seçenekten sadece birinin seçilmesi mümkündür.

İsteğe bağlı içerik

RadioButton da ContentControl sınıfından türetilmiştir, yani içeriğine kontrol alır ve gösterir. Eğer içeriğe yukarıda yaptığım gibi sadece düz yazı girerseniz WPF onu bir TextBlock içine koyar ve gösterir. İçerikte az sonraki örnekte göreceğimiz gibi istediğiniz kontrolü kullanabilirsiniz :

<Window x:Class="WpfTutorialSamples.Basic_controls.RadioButtonCustomContentSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="RadioButtonCustomContentSample" Height="150" Width="250">
	<StackPanel Margin="10">
		<Label FontWeight="Bold">Are you ready?</Label>
		<RadioButton>
			<WrapPanel>
				<Image Source="/WpfTutorialSamples;component/Images/accept.png" Width="16" Height="16" Margin="0,0,5,0" />
				<TextBlock Text="Yes" Foreground="Green" />
			</WrapPanel>
		</RadioButton>
		<RadioButton Margin="0,5">
			<WrapPanel>
				<Image Source="/WpfTutorialSamples;component/Images/cancel.png" Width="16" Height="16" Margin="0,0,5,0" />
				<TextBlock Text="No" Foreground="Red" />
			</WrapPanel>
		</RadioButton>
		<RadioButton IsChecked="True">
			<WrapPanel>
				<Image Source="/WpfTutorialSamples;component/Images/question.png" Width="16" Height="16" Margin="0,0,5,0" />
				<TextBlock Text="Maybe" Foreground="Gray" />
			</WrapPanel>
		</RadioButton>
	</StackPanel>
</Window>

Yazım karmaşık olabilir ama konsept oldukça basit. Her RadioButton içinde bir resim ve yazı içeren bir WRapPanel'imiz var. Yazıyı TextBlock içine koyunca artık stiline hükmedebiliriz. Bu örnek için seçeneğe uygun renklerde yazılar seçtim, her seçenekte Image kontrolü kullanarak bir de resim ekledim.

Dikkat ederseniz RadioButton dahilinde yazı ve resim de dahil nereye tıklasanız o RadioButton seçimi değişecektir, çünkü RadioButton içeriğindesiniz. Eğer içeriği RadioButton yanında ayrı bir panele yerleştirirseniz kullanıcı özellikle seçim dairesine tıklamak zorundadır, bu daha kötü bir seçenek ama tercih edilebilir.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!