我有一个派生的Combobox控件。在Autogeneratingcolumns事件中,我已经为派生的组合框分配了FrameworkElemnt,如下所示:
var templateColumn = new DataGridTemplateColumn
{
CellTemplate = new DataTemplate
{
VisualTree = derivedComboFrameWorkElement
}
};
grid.Column = CreateTemplateColumn(templateColumn);
但是,SelectionChanged事件不会为组合框触发。有趣的是,一旦我使用WPF-Inspector检查可视树(GridCell和我的ComoboBox),SelectionChanged事件就会触发。所以怀疑VisualTree的某些问题会更新。请帮助我正常工作。
此致 ANI
答案 0 :(得分:0)
好消息。问题已经确定。答案是,有一个PreviewMouseDown事件,并在事件中调用了Focus()。因此,下拉列表已关闭,无法点击。我纠正了解决问题的逻辑。
为了识别这类问题,我们可以使用WPF Inspector来检查可视树和Snoop,它显示了所有被调用的事件。 Snoop帮我分析了这个问题。谢谢你的帮助。
问候,ani