まず最初に、私は C# の初心者であることをお伝えしなければなりません。
xaml と c# を使用して Windows 8 メトロ アプリを開発しています。
チェックボックスの配列を動的に作成し、それぞれに pointerpressed イベントを割り当てました。
奇妙な問題は、pointerpressed イベントが登録された関数を起動していないことです。
デザインツール(私はvisual Studio 2012を使用しています)を使用して同じチェックボックスを作成すると、奇妙なことに今回は機能します。
実行時まで作成されるチェックボックスの数がわからないため、デザインツールを使用してチェックボックスを処理することはオプションではありません。
私が実行しているコードは次のとおりです。
CheckBox[] chk=new CheckBox[count];
int x=20; //Width of each checkbox(to be incremented for every iteration)
for( int i = 0; i < count ; i++ )
{
chk[i] = new CheckBox();
chk[i].HorizontalAlignment = HorizontalAlignment.Left;
chk[i].Margin = new Thickness(1100, x, 0, 0);
chk[i].VerticalAlignment = VerticalAlignment.Top;
chk[i].Height = 30;
chk[i].Width = 35;
chk[i].PointerPressed += new PointerEventHandler(chkhandler);
gridit.Children.Add(chk[i]);
x = x + 35;
}
private static void chkhandler(object obj, PointerRoutedEventArgs arg)
{
textblock1.Text="Testing"; //Sample Textblock
}
チェックボックスは実行時にチェックされますが、関連する機能は機能しません。
前もって感謝します