Я пытаюсь изучить C# и wpf. У меня есть сегмент кода, который работает в том, что он правильно показывает элементы управления. Я также пытаюсь создать обработчик кнопки мыши, и когда я его отлаживаю, обработчик никогда не вызывается. Кнопки вложены в несколько StackPanels, что не может показаться проблемой?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