0
首先,我不得不提到我是c#的新手。
我正在用xaml和c#開發一個windows 8 metro應用程序。
我創建了一個複選框動態數組,併爲它們分配了一個指針按鈕事件。
奇怪的問題是,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
}
的複選框在運行期間得到檢查,但相關的功能不起作用。
在此先感謝
你探討一個複選框的各種事件,以確定是否要綁定到正確的項目。你的例子並不能表明你的期望,但是因爲你使用的是複選框,所以我會關閉chk [i] .Click或chk [i] .Checked。特別是在查看Visual Studio 2012和4.5框架時,CheckBox沒有PointerPressed事件。 –
@SASS_Shooter'PointerPressed'可能指的是:http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.pointerpressed –
謝謝,點擊作品。順便點擊事件和指針之間有任何區別按 –