1

動的に追加されたフィールドのプロパティへのアクセスに問題があります。

私がそのようなことをしたら

<Rectangle Name="field_0_0" Width="10" Height="10" />

次に、C#コードでこれに到達できます

field_0_0.Width = 20;

しかし、私のアプリでは、このようなことをしました

for(i = 0; i < 5; i++) {
    for(j = 0; j < 5; j++) {
        String fieldName = "field_" + i + "_" + j;
        Rectangle rec = new Rectangle();
        rec.Name = fieldName;
        Container.Children.Add(rec);
    }
 }

問題は、これらのフィールドを画面に表示しているときに、コードでこれらのフィールドを呼び出す方法がわからないことです。たとえば、塗りつぶしの色を変更したいfield_1_1

name からこの四角形を取得するにはどうすればよいですか?

4

1 に答える 1

2

FindNameメソッドを使用できます。

object findRect = Container.FindName("field_1_1");
if (findRect is Rectangle)
{        
    Rectangle rect = findRect as Rectangle;
    //change rect properties
}
于 2013-04-07T11:14:39.177 に答える