【问题标题】:SelectionChanged event not firing for derived ComboBox control - WPF派生的 ComboBox 控件未触发 SelectionChanged 事件 - WPF
【发布时间】:2018-05-17 11:56:49
【问题描述】:

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

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

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

问候, 阿尼

【问题讨论】:

标签: wpf derived selectionchanged


【解决方案1】:

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

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

问候,阿尼

【讨论】:

  • 你能解释一下,你是如何识别问题的,其实我也像同样的问题一样卡住https://stackoverflow.com/questions/52054862/wpf-combo-box-scrolling-by-mousewheel-works-but-scroll-bar-clicking-does-not?noredirect=1#comment91150447_52054862
猜你喜欢
  • 2014-05-02
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
相关资源
最近更新 更多