1

C# と XAML で Windows Phone アプリをプログラミングするつもりでした。BoxControl というユーザー コントロールを作成しました。つまり、その型の変数を作成できます。

以下に示すように、ネストされたループでこのコントロールのインスタンスを作成します。問題は、このコントロールのインスタンスを私が行った方法で作成した場合、後でコード内でそれらを参照するにはどうすればよいかということです。各インスタンスを一意に識別するにはどうすればよいですか?

  // i = column, j = row
        for (int i=0; i<4; i++)
        {
            for (int j = 0; j < 3; j++)
            {

                boxList.Add(new BoxControl());
                Grid.SetColumn(boxList[(i*3)+j], i);
                Grid.SetRow(boxList[(i*3)+j], j);

                BoxGrid.Children.Add(boxList[(i*3)+j]);
                boxList[(i * 3) + j].AddHandler(UIElement.TapEvent, new EventHandler<GestureEventArgs>(BoxControl_Tap), false);
            }
        }

たとえば、画面上でそれらのいずれかをタップすると、その特定のコントロールだけで何かをしたいと思います。そのためのハンドラーを追加しましたが、オブジェクトを参照できません。誰かが助けてくれることを願っています...

4

1 に答える 1

0

Windows Phone-App イベントハンドラーについてはわかりませんが、WPF と Windows フォームは常にイベントの「送信者」を提供します。あなたの場合、タップされたのは特定の BoxControl です。キャストするだけです。

イベントの外部でそれを参照することは、for ループ内で既に行っている単純な数学の問題です。

于 2013-08-10T09:34:26.997 に答える