標籤:app button idt xaml ack center block 代碼 grid
RadioButton控制項
在應用程式的開發過程中開發人員經常使用多個RadioButton控制項來顯示一組選項按鈕,僅允許使用者從中選擇一項。RadioButton控制項和CheckBox控制項的差別在於,使用者可以一次選擇多個CheckBox複選框,而RadioButton選項按鈕卻只能選擇同組中的一個。
在XAML檔案中,RadioButton控制項的用法如下所示:
<RadioButton?.../>
-或-
<RadioButton?...>
<!--新增內容-->
</RadioButton>
下面介紹一下RadioButton控制項的幾個常用屬性:
- Content屬性,擷取或設定RadioButton控制項的常值內容。
- GroupName屬性,擷取或設定哪些RadioButton控制項互斥。通過為RadioButton控制項指定GroupName屬性,將GroupName屬性值相同的多個RadioButton控制項分為一組,同一組內的選項互斥,只能從這組中選擇一項。
- IsChecked屬性,擷取或設定RadioButton控制項是否被選中。當RadioButton控制項被選中時,其IsChecked屬性的值為true;否則RadioButton控制項的IsChecked屬性值為false。
- Name屬性,擷取或設定RadioButton控制項的名稱。
介紹完常用屬性後,接著來看一下RadioButton控制項的常用事件:
- Click事件,當單擊RadioButton控制項時觸發。
- Checked事件,當選中RadioButton控制項時觸發。
- Unchecked事件,當選中的RadioButton控制項被取消時觸發。
接下來使用RadioButton控制項設計一個選擇性別的應用樣本。
建立一個名為"RadioButtonDemo"的Windows市集的空白應用程式項目,在MainPage.xaml檔案的Grid元素中添加如下代碼。
<RadioButton GroupName="性別" Name="MaleRadioButton" Content="男" HorizontalAlignment="Left" Margin="697,245,0,0" VerticalAlignment="Top"/>
<RadioButton GroupName="性別" Name="FemaleRadioButton" Content="女" HorizontalAlignment="Left" Margin="761,245,0,0" VerticalAlignment="Top"/>
<TextBlock FontSize="20" Name="ShowSelected" HorizontalAlignment="Left" Margin="697,299,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="29" Width="120"/>
<Button Content="顯示選擇" HorizontalAlignment="Left" Margin="558,290,0,0" VerticalAlignment="Top" Click=" ShowSelected_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="558,245,0,0" TextWrapping="Wrap" Text="選擇性別:" FontSize="25" VerticalAlignment="Top" Height="37" Width="134"/>
在上面的代碼中,添加了兩個RadioButton控制項分別用於顯示"男"和"女"選項按鈕,設定這兩個RadioButton控制項的GroupName屬性值都為"性別"。再添加一個Button按鈕和兩個TextBlock文字區塊,設定Button按鈕的Content屬性值為"顯示選擇","顯示選擇"按鈕用於觸發事件以顯示選中的選項按鈕內容,兩個TextBlock文字區塊分別用於顯示文本"選擇性別:"和選擇的選項按鈕內容文本資訊。
現在可以運行程式查看介面效果,4-11所示。
圖4-11 選擇性別應用
在MainPage.xaml.cs檔案中,為"顯示選擇"按鈕的Click事件添加處理方法ShowSelected_Click,當單擊"顯示選擇"按鈕時,在ShowSelected文字區塊中顯示選擇的選項按鈕內容,代碼如下所示:
private void ShowSelected_Click(object sender, RoutedEventArgs e)
{
string selectedContent = null;
//判斷選擇的選項按鈕是"男"還是"女"
if (MaleRadioButton.IsChecked == true)
{
selectedContent = "男";
}
if (FemaleRadioButton.IsChecked == true)
{
selectedContent = "女";
}
//判斷是否選中了選項按鈕
if (selectedContent != null)
{
ShowSelected.Text = "選擇了" + selectedContent;
}
else
{
ShowSelected.Text = "還沒有選擇";
}
}
在上面的代碼中,定義一個string類型的變數selectedContent並賦值為空白,通過RadioButton控制項的IsChecked屬性判斷"男"和"女"選項按鈕的狀態。當選項按鈕被選中時,其IsChecked屬性值為true,根據選中的選項按鈕狀態為selectedContent變數賦予不同的值。當selectedContent變數不為空白時,將selectedContent變數顯示在前台介面,否則顯示提示資訊"還沒有選擇"。
運行程式,選擇"男"選項按鈕,單擊"顯示選擇"按鈕,會在介面中顯示選擇結果"選擇了男",效果4-12所示。
圖4-12 選擇性別為"男"後效果
Win10系列:C#應用控制項基礎6