我正在嘗試學習c#和wpf。我有一段代碼可以正確顯示控件。我也嘗試創建一個鼠標按鈕處理程序,當我調試它時,處理程序從不會被調用。這些按鈕嵌套在幾個StackPanel中,這似乎不是問題所在?wpf設置動態按鈕的鼠標處理程序
StackPanel tabPanel = new StackPanel();
for (int i = 0; i < 20; i++)
{
StackPanel micPanel = new StackPanel();
micPanel.Orientation = Orientation.Horizontal;
// Add the Calibration Button
Button micButton = new Button();
micButton.Height = 25;
micButton.Name = string.Format("Mic{0}", i);
micButton.Content = string.Format("Mic{0}", ((20 * index) + i));
micButton.MouseLeftButtonUp += new MouseButtonEventHandler(mic_MouseLeftButtonUp);
micPanel.Children.Add(micButton);
// Add the calibrated Value
Label micLabel = new Label();
micLabel.Height = 25;
micLabel.Content = string.Format("Value: {0}", ((20 * index) + i));
micPanel.Children.Add(micLabel);
tabPanel.Children.Add(micPanel);
}
tab.Content = tabPanel;
處理程序是這樣的:
private void mic_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Button but = sender as Button;
}
我設置一個斷點,它永遠不會調用處理程序?
這是因爲一些其他設備正在消耗點擊,它永遠不會到我的處理程序?這是我應該始終使用的東西嗎?還是僅僅因爲它所在的容器? – Sting
@Sting提供在線文檔,詳細解釋了這一點。 – Clemens