即使用户没有选择项目,也会发生ComboBox事件触发

时间:2016-06-28 21:12:04

标签: c# wpf combobox event-handling

当用户从组合框中选择一个项目时,我需要捕获一个事件。在StackOverflow上阅读了一些答案后,我使用了这种方法 (XAML):

SelectionChanged="LocationBox_SelectionChanged"

C#中的事件处理程序:

private void LocationBox_SelectionChanged(object sender, SelectionChangedEventArgs e)

问题是,当动态构建ComboBox而不是用户选择项目时,此事件处理程序会多次跳闸。顺便说一下,当用户选择项目时,此方法可以正常工作。问题是所有这些无关紧要的事件。

我希望仅在用户从组合框中选择项目时才调用事件处理程序。我不希望在组合框显示之前动态构建组合框时调用事件处理程序。似乎每次将项目添加到组合框时,它都会使事件处理程序跳闸。我希望事件处理程序被触发IFF,人类从组合框中进行选择。

连连呢?感谢。

2 个答案:

答案 0 :(得分:0)

不确定selectionChanged信号。 您可以在QComboBox编辑期间始终使用QObject: blockSignals吗?

答案 1 :(得分:-1)

  

这是一个问题,因为当它错误地报告用户事件时,我的代码想要对用户选择的索引执行某些操作。但是,由于用户实际上没有选择任何事件和后续索引,导致崩溃是错误的。

如果returnSelectedItem == null,请立即从您的事件处理程序中SelectedIndex == -1