当用户从组合框中选择一个项目时,我需要捕获一个事件。在StackOverflow上阅读了一些答案后,我使用了这种方法 (XAML):
SelectionChanged="LocationBox_SelectionChanged"
C#中的事件处理程序:
private void LocationBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
问题是,当动态构建ComboBox而不是用户选择项目时,此事件处理程序会多次跳闸。顺便说一下,当用户选择项目时,此方法可以正常工作。问题是所有这些无关紧要的事件。
我希望仅在用户从组合框中选择项目时才调用事件处理程序。我不希望在组合框显示之前动态构建组合框时调用事件处理程序。似乎每次将项目添加到组合框时,它都会使事件处理程序跳闸。我希望事件处理程序被触发IFF,人类从组合框中进行选择。
连连呢?感谢。
答案 0 :(得分:0)
不确定selectionChanged信号。 您可以在QComboBox编辑期间始终使用QObject: blockSignals吗?
答案 1 :(得分:-1)
如果这是一个问题,因为当它错误地报告用户事件时,我的代码想要对用户选择的索引执行某些操作。但是,由于用户实际上没有选择任何事件和后续索引,导致崩溃是错误的。
return
或SelectedItem == null
,请立即从您的事件处理程序中SelectedIndex == -1
。