Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将控件数组等同于现有控件_C#_Wpf_Arrays - Fatal编程技术网

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”…然后我想将它们添加到单选按钮数组中。我不想创建单选按钮。它们无论如何都是创建的。我只想将单选按钮数组等同于现有的单选按钮。