SelectionChanged 事件未触发派生的 ComboBox 控件 - WPF

SelectionChanged event not firing for derived ComboBox control - WPF

我有一个派生的 Combobox 控件。在 Autogeneratingcolumns 事件中,我分配了派生组合框的 FrameworkElemnt,如下所示:

        var templateColumn = new DataGridTemplateColumn
            {
                CellTemplate = new DataTemplate
                {
                    VisualTree = derivedComboFrameWorkElement
                }
            };
grid.Column = CreateTemplateColumn(templateColumn);

但是,组合框不会触发 SelectionChanged 事件。有趣的是,一旦我使用 WPF-Inspector 检查可视化树(GridCell 和我的 ComoboBox),SelectionChanged 事件就会触发。所以怀疑 VisualTree 更新有一些问题。请帮助我让它正常工作。

此致, 阿尼

好消息。问题已确定。答案是,有一个 PreviewMouseDown 事件,并且在该事件中调用了 Focus()。因此下拉菜单被关闭并且无法点击。我纠正了逻辑以解决问题。

要识别此类问题,我们可以使用 WPF Inspector 检查可视化树和显示所有调用事件的 Snoop。 Snoop帮我分析了问题。感谢您的帮助。

问候,阿妮