首先,我必须提到我是c#的新手。
我正在开发一个带有xaml和c#的windows 8 metro应用程序。
我动态创建了一个复选框数组,并为每个复选框分配了一个指针式事件
奇怪的问题是指针事件没有启动注册函数
如果我使用设计工具创建相同的复选框(我使用的是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
}
在运行期间检查复选框,但相关功能不起作用。
提前致谢
答案 0 :(得分:2)
尝试;
怎么样:
chk[i].AddHandler(PointerPressedEvent,
new PointerEventHandler(SomeButton_PointerPressed), true);