2016-04-05 15 views
0

Ich habe 4 Radiobuttons und möchte überprüfen, ob irgendwelche überprüft werden.Wie überprüft man, ob ein Radiobutton aktiviert ist?

Das ist mein WPF-Code:

<StackPanel Background="#FF3A3A49" Grid.Column="1" Grid.Row="4"> 
    <RadioButton x:Name="rtnRight" GroupName="answer" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="White" Content="value0" BorderBrush="White"/> 
    <RadioButton Content="value1" GroupName="answer" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" /> 
    <RadioButton Content="value2" GroupName="answer" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="White" /> 
    <RadioButton Content="value3" GroupName="answer" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="White" /> 
</StackPanel> 
<Button x:Name="btnNext" Grid.Column="1" Grid.Row="5" Content="Dalej" VerticalAlignment="Center" HorizontalAlignment="Center" Width="100" Height="50" Margin="0 0 0 0 " Foreground="#FFAC0303" BorderBrush="#FFC1C1C1" Background="#66FFFFFF" Click="btnNext_Click"></Button> 

Nachdem ich btnNext klicken und keine Radiobuttons überprüft worden ist, möchte ich eine Nachricht Dialog zeigen. Wie kann ich das programmieren? Das ist meine btnNext_Click Funktion bisher.

private async void btnNext_Click(object sender, RoutedEventArgs e) 
    {  
     if ("any radiobutton checked?") 
     { 
      await new Windows.UI.Popups.MessageDialog("Choose at least one answer").ShowAsync(); 
     } 
    } 

Antwort

1

können Sie einen Namen für Ihre StackPanel angeben und dann wie überprüfen:

if (!(radioButtonStackPanel.Children.OfType<RadioButton>().Any(rb => rb.IsChecked == true))) 

Denken Sie daran, einen Namen für StackPanel wie angeben:

<StackPanel Background="#FF3A3A49" Grid.Column="1" Grid.Row="4" x:Name="radioButtonStackPanel"> 
+0

Dank! Es klappt. Nur neugierig, was es bedeutet, wenn Sie "rb" und dann "rb.IsChecked" verwenden? Ich habe versucht, es selbst zu tippen und Visual zeigte mir keinen Hinweis, wenn ich rb tippe ... aber es funktioniert :) – ktos1234

+0

Es ist Lambda-Ausdruck, Sie können mehr über sie [hier] lesen (https: // msdn. microsoft.com/en-CA/library/bb397687.aspx) – Habib

Verwandte Themen