C# 将控件数组等同于现有控件
我试过这样的方法:C# 将控件数组等同于现有控件,c#,wpf,arrays,C#,Wpf,Arrays,我试过这样的方法: RadioButton[] diff = new RadioButton[10]; for (int i = 0; i < 10; ++i) { diff[i] = (RadioButton)Control("rad_D" + i.ToString()); } RadioButton[]diff=新的RadioButton[10]; 对于(int i=0;irb.Name.StartsWith(“rad_D”).ToArray(); 你可以使用这篇文章,它
RadioButton[] diff = new RadioButton[10];
for (int i = 0; i < 10; ++i)
{
diff[i] = (RadioButton)Control("rad_D" + i.ToString());
}
RadioButton[]diff=新的RadioButton[10];
对于(int i=0;i<10;++i)
{
diff[i]=(单选按钮)控制(“rad_D”+i.ToString());
}
这显然不起作用。但是正确的方法是什么呢?编辑:好的,您正在寻找已经存在的单选按钮,在这种情况下,请使用FindName。大概是这样的:
RadioButton[] diff = new RadioButton[10];
for (int i = 0; i < 10; ++i)
{
diff[i] = someparentControl.FindName("rad_D" + i.ToString()) as RadioButton;
}
RadioButton[]diff=新的RadioButton[10];
对于(int i=0;i<10;++i)
{
diff[i]=someparentControl.FindName(“rad_D”+i.ToString())作为单选按钮;
}
您需要一个父控件,它可以是窗口本身,因为它将递归搜索匹配的名称 试试这个,如果单选按钮是面板(如网格、堆栈面板等)的直接子级,则可以执行以下操作:
var buttons = grid.Children.OfType<RadioButton>().
Where(rb => rb.Name.StartsWith("rad_D").ToList();
var buttons=grid.Children.OfType()。
其中(rb=>rb.Name.StartsWith(“rad_D”).ToList();
获取列表,或者如果确实需要数组
var buttons = grid.Children.OfType<RadioButton>().
Where(rb => rb.Name.StartsWith("rad_D").ToArray();
var buttons=grid.Children.OfType()。
其中(rb=>rb.Name.StartsWith(“rad_D”).ToArray();
你可以使用这篇文章,它有几种方法来查找特定类型的所有控件。不清楚你想做什么。你想查找所有名为“rad\u Dx”的单选按钮吗?@MattBurland:类似的。我有几个单选按钮,分别名为“rad\u D0”、“rad\u D1”…然后我想将它们添加到单选按钮数组中。我不想创建单选按钮。它们无论如何都是创建的。我只想将单选按钮数组等同于现有的单选按钮。