C# 将字符串转换为形状

C# 将字符串转换为形状,c#,wpf,implicit-conversion,C#,Wpf,Implicit Conversion,我试图用C#制作一个游戏,为此我需要知道如何将字符串转换为形式,在我的例子中是椭圆。我试过: int row1 = 1; string var2 = "ell_1_" + row1; Ellipse var1 = Convert.ChangeType(var2, Ellipse); var1.Fill = new SolidColorBrush(Colors.Red); row1++; 椭圆的名称是ellu 1\u 1,ellu 1\u 2,依此类推。椭圆仍在制作中。这是一个Wpf应用程序。简

我试图用C#制作一个游戏,为此我需要知道如何将字符串转换为形式,在我的例子中是椭圆。我试过:

int row1 = 1;
string var2 = "ell_1_" + row1;
Ellipse var1 = Convert.ChangeType(var2, Ellipse);
var1.Fill = new SolidColorBrush(Colors.Red);
row1++;
椭圆的名称是
ellu 1\u 1
ellu 1\u 2
,依此类推。椭圆仍在制作中。这是一个Wpf应用程序。

简单如下:

int row1 = 1;
string var2 = "ell_1_" + row1;
Ellipse var1 = Controls.Find(var2, true)[0] as Ellipse;
var1.Fill = new SolidColorBrush(Colors.Red);
row1++;

字符串与形状的关系如何?字符串中没有任何东西可以转换为形状,例如它的位置和焦点。。。这就像说“我想把草变成钢”,除非草上覆盖着铁和其他所需的金属,否则这是不会发生的。WPF、Winforms或其他什么?你是否试图制作一个名为“
ellu 1\u x
”的椭圆?椭圆是先创建的,还是已经存在?请更具体一点!如果有些东西不适合你,请添加评论,以便我可以编辑它,请!你做了很多假设,比如椭圆已经存在,它的WPF(尽管我敢打赌它是存在的)和Controls.Find将返回值(我至少在这里看到一个
NullReferenceException
)。还有控件。Find是Winforms,不与WPF混合。@RonBeyer我在Winforms控件中使用
标签而不是
椭圆来测试它,效果很好。没有人说,它不是被创造的,或者它必须被创造?!Ellipse在WinForms中不是控件,只是在WPF中。@RonBeyer和他没有添加WPF标记,所以我应该从哪里知道这一点?