我取了4个radiobuttons并为所有人定义了一组。我想在该组中找到所选放射性按钮的文本。如何为此编码。谢谢
答案 0 :(得分:2)
通过修改位This帖子,您将得到您想要的内容
正如该帖子所说,将此类添加到您的项目中
public static class VisualTreeEnumeration
{
public static IEnumerable<DependencyObject> Descendents(this DependencyObject root)
{
int count = VisualTreeHelper.GetChildrenCount(root);
for (int i=0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(root, i);
yield return child;
foreach (var descendent in Descendents(child))
yield return descendent;
}
}
}
这会给你想要的结果
List<RadioButton> group = this.Descendents()
.OfType<RadioButton>()
.Where(r => r.GroupName == "aaa" && r.IsChecked == true)
.ToList();
答案 1 :(得分:2)
From MSDN's RadioButton Class:
以下示例显示了两个面板 每个包含三个单选按钮。 每个面板都有一个单选按钮 组合在一起。剩下的两个 每个面板上的单选按钮不是 明确分组,这意味着他们 由于他们共享,因此归为一组 相同的父控件。当你跑步 这个样本并选择一个单选按钮, TextBlock显示的名称 组,或“分组到面板”的a 没有明确组的单选按钮 名称和收音机的名称 按钮。
<强> XAML 强>
<TextBlock Text="First Group:" Margin="5" />
<RadioButton x:Name="TopButton" Margin="5" Checked="HandleCheck"
GroupName="First Group" Content="First Choice" />
<RadioButton x:Name="MiddleButton" Margin="5" Checked="HandleCheck"
GroupName="First Group" Content="Second Choice" />
<TextBlock Text="Ungrouped:" Margin="5" />
<RadioButton x:Name="LowerButton" Margin="5" Checked="HandleCheck"
Content="Third Choice" />
<TextBlock x:Name="choiceTextBlock" Margin="5" />
代码背后
private void HandleCheck(object sender, RoutedEventArgs e)
{
RadioButton rb = sender as RadioButton;
choiceTextBlock.Text = "You chose: " + rb.GroupName + ": " + rb.Name;
}