如何通过c#获取组中的选定单选按钮?

时间:2011-09-08 14:49:51

标签: c# .net silverlight windows-phone-7 radio-button

如何通过c#获取位于面板(父容器)内的所选Radiobutton控件的索引?

如果解决方案需要,Radiobuttons的控制命名为“acc”。

由于

2 个答案:

答案 0 :(得分:12)

<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();
        }
    }
 }

所选按钮的索引将是对应于(bool)radio的“i”的值.IsChecked为true,因此您可以记录此值并在其他地方使用它。

答案 1 :(得分:4)

更简单的版本

        foreach (RadioButton rb in YourStackPanel.Children)
        {
            if (rb.IsChecked == true)
            {
                //Do whatever you need with it.
            }
        }