【发布时间】:2014-08-04 05:43:57
【问题描述】:
如何知道单选按钮的选择索引以知道用户选择了哪个索引选项。
目前我的代码显示读取的项目。但是当我选择出现的项目时,它会显示在文本块中 单选按钮的选定项目(在给定的 3 个选项中,因为我的单选按钮目前有 3 个项目)。
我的尝试是:
foreach (String item in param.Parameter[lop].Component.Attributes.Items)
{
RadioButton radio = new RadioButton()
{
Content = item,
GroupName = "MyRadioButtonGroup"
};
radio.Checked += (o, e) =>
{
txtblkShowStatus.Text = item;
};
data= param.Parameter[lop].Label;
sp.Children.Add(radio);
}
现在我想要基于“项目”的选择之类的东西,现在我想要基于索引的选择。
我想要一些类似的东西。如果用户选择第二个按钮(单选按钮),那么我将显示一些 UI 元素。并且这些项目是在反序列化 xml 时获得的。它只处理单选按钮的索引。所以我想要if(selectedIndexofRadioButton ==IndexObtainedFromXmlInIntegr){do something}
有可能吗?如果是,那么我应该如何更改我的代码来实现这一点? 编辑:DonBoitnott 的答案编辑后我的代码更改是:
foreach (String item in param.Parameter[lop].Component.Attributes.Items)
{
RadioButton radio = new RadioButton()
{
Content = item,
GroupName = "MyRadioButtonGroup",
Tag=tg
};
radio.Checked += (o, e) =>
{
txtblkShowStatus.Text = item;
if (((Int32)((RadioButton)o).Tag).Equals(2))
{
MessageBox.Show("hurrey");
}
};
radio.Tag=1;
data= param.Parameter[lop].Label;
sp.Children.Add(radio);
index++; tg++;
}
【问题讨论】:
-
不清楚您的要求。索引什么?组中的单选按钮没有索引。你目前的方法有什么问题?
-
@DonBoitnott 我想要一些类似 .如果用户选择第二个按钮(单选按钮),那么我将显示一些 UI 元素。并且这些项目是在反序列化 xml 时获得的。它只处理单选按钮的索引。所以我想要 if(selectedIndexofRadioButton ==IndexObtainedFromXmlInIntegr){do something}
-
然后使用
Tag属性将该索引分配给每个RadioButton。如:radio.Tag = 1;。然后您可以使用该标记(强制转换为 int)来测试相等性。 -
-
@DonBoitnott 我事先不知道我会有多少项目,所以我不能做“radiobutton1.Tag”,radiobutton2.Tag 他们将动态决定。现在如何实现?
标签: c# .net silverlight radio-button silverlight-5.0