Как получить выбранный переключатель в группе через c #? - PullRequest
1 голос
/ 08 сентября 2011

Как получить индекс выбранного элемента управления Radiobutton, расположенного внутри панели (родительского контейнера), через c #?

Элемент управления Radiobuttons называется «acc», если это необходимо для решения.

Спасибо

Ответы [ 2 ]

12 голосов
/ 08 сентября 2011
<StackPanel x:Name="panel" Orientation="Vertical">
        <RadioButton x:Name="1"></RadioButton>
        <RadioButton x:Name="2"></RadioButton>
        <RadioButton x:Name="3"></RadioButton>
        <RadioButton x:Name="4"></RadioButton>
        ...
        <RadioButton x:Name="10"></RadioButton>
</StackPanel>

for (int i = 0; i < this.panel.Children.Count; i++)
{
    if (this.panel.Children[i].GetType().Name == "RadioButton")
    {
        RadioButton radio = (RadioButton)this.panel.Children[i];
        if ((bool)radio.IsChecked)
        {
            this.txt.Text ="the check radio button is:"+ radio.Name.ToString();
        }
    }
 }

Индексом выбранной кнопки будет значение «i», которое соответствует (bool) radio.IsChecked равно true, поэтому вы можете просто записать это значение и использовать его в другом месте.

4 голосов
/ 02 октября 2014

Еще более легкая версия

        foreach (RadioButton rb in YourStackPanel.Children)
        {
            if (rb.IsChecked == true)
            {
                //Do whatever you need with it.
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...