Freigeben über


Gewusst wie: Erkennen einer RadioButton-Auswahl

Aktualisiert: November 2007

Wenn RadioButton-Steuerelemente gruppiert werden, schließen sie sich gegenseitig aus. Ein Benutzer kann jeweils nur ein Element in einer RadioButton-Gruppe auswählen. Die Anwendung löscht programmgesteuert ein ausgewähltes Element, wenn der Benutzer ein neues Element auswählt. Ob ein RadioButton ausgewählt ist, wird vom Zustand seiner IsChecked-Eigenschaft bestimmt. Sie können RadioButton-Steuerelemente gruppieren, indem Sie sie in ein übergeordnetes Element einfügen oder sie mit einem Gruppennamen benennen. Das folgende Codebeispiel zeigt beide Möglichkeiten auf. Die RadioButton-Steuerelemente sind untergeordnete Elemente eines StackPanel-Elements, und der Gruppenname lautet ExpandDirectionProperty.

Die Auswahl eines RadioButton-Elements löst das Ereignis Checked aus. Wie im folgenden Codebeispiel veranschaulicht, können Sie einen Ereignishandler zur Handhabung des Checked-Ereignisses hinzufügen, wenn sich die RadioButton-Auswahl ändert und die Anwendung entsprechend reagieren muss.

Beispiel

<StackPanel>
  <RadioButton Name="ExpandDown" Margin="0,10,0,10" 
            IsChecked="True"
            Checked="ChangeExpandDirection"
            GroupName="ExpandDirectionProperty">
     Expand Down
  </RadioButton>
  <RadioButton Name="ExpandUp" Margin="0,0,0,10"
            Checked="ChangeExpandDirection"
            GroupName="ExpandDirectionProperty">
     Expand Up
  </RadioButton>
  <RadioButton Name="ExpandLeft" Margin="0,0,0,10"
            Checked="ChangeExpandDirection"
            GroupName="ExpandDirectionProperty">
    Expand Left
  </RadioButton>
  <RadioButton Name="ExpandRight" Margin="0,0,0,10"
            Checked="ChangeExpandDirection"
            GroupName="ExpandDirectionProperty">
    Expand Right
  </RadioButton>
</StackPanel>
Private Sub ChangeExpandDirection(ByVal Sender As Object, ByVal e As RoutedEventArgs)
    If (ExpandDown.IsChecked) Then
        myExpander.ExpandDirection = ExpandDirection.Down
    ElseIf (ExpandUp.IsChecked) Then
        myExpander.ExpandDirection = ExpandDirection.Up
    ElseIf (ExpandLeft.IsChecked) Then
        myExpander.ExpandDirection = ExpandDirection.Left
    ElseIf (ExpandRight.IsChecked) Then
        myExpander.ExpandDirection = ExpandDirection.Right
    End If

    'Expand myExpander so it is easier to see the effect of changing 
    'the ExpandDirection property for My Expander
    myExpander.IsExpanded = True
End Sub
private void ChangeExpandDirection(object sender, RoutedEventArgs e)
{
    if ((Boolean)ExpandDown.IsChecked)
        myExpander.ExpandDirection = ExpandDirection.Down;
    else if ((Boolean)ExpandUp.IsChecked)
        myExpander.ExpandDirection = ExpandDirection.Up;
    else if ((Boolean)ExpandLeft.IsChecked)
        myExpander.ExpandDirection = ExpandDirection.Left;
    else if ((Boolean)ExpandRight.IsChecked)
        myExpander.ExpandDirection = ExpandDirection.Right;

    //Expand myExpander so it is easier to see the effect of changing 
    //the ExpandDirection property for My Expander
    myExpander.IsExpanded = true;
}