我想询问关于wpf(或silverlight)中combobox的实现细节

我想询问关于wpf(或silverlight)中combobox的实现细节,wpf,combobox,controls,Wpf,Combobox,Controls,我现在正在wpf中处理一个自定义控件。我用Combobox做父母。 我想知道我的自定义组合框是如何像它的父对象一样工作的。我如何点击屏幕的任何部分,我的组合框的下拉部分可以关闭…我尝试了很多方法,但都不能正常工作 有人能提供一些文章或其他东西吗?这里是组合框的标准控件模板:和 在WPF示例中,弹出窗口和切换按钮(右侧的箭头)与属性IsDropDownOpen绑定: <Popup IsOpen="{TemplateBinding IsDropDownOpen}" ... <Toggl

我现在正在wpf中处理一个自定义控件。我用Combobox做父母。 我想知道我的自定义组合框是如何像它的父对象一样工作的。我如何点击屏幕的任何部分,我的组合框的下拉部分可以关闭…我尝试了很多方法,但都不能正常工作


有人能提供一些文章或其他东西吗?

这里是组合框的标准控件模板:和

在WPF示例中,弹出窗口和切换按钮(右侧的箭头)与属性IsDropDownOpen绑定:

<Popup IsOpen="{TemplateBinding IsDropDownOpen}" ...

<ToggleButton IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}" ...

以下是组合框的标准控件模板:和

在WPF示例中,弹出窗口和切换按钮(右侧的箭头)与属性IsDropDownOpen绑定:

<Popup IsOpen="{TemplateBinding IsDropDownOpen}" ...

<ToggleButton IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}" ...

组合框中有一部分称为“弹出窗口”。它有一个属性“StaysOpen”,指示如果用户单击外部的任何位置,ComboBox是否应该关闭。非常感谢!我试试看。但是我想知道内部实现Sok,我已经发布了一个带有2个链接的答案。也许我的解释并不明显,但我没有WPF组合框的代码,只有Silverlight。组合框中有一部分称为“弹出”。它有一个属性“StaysOpen”,指示如果用户单击外部的任何位置,ComboBox是否应该关闭。非常感谢!我试试看。但是我想知道内部实现Sok,我已经发布了一个带有2个链接的答案。也许我的解释并不明显,但我没有WPF ComboBox的代码,只有Silverlight。我已经阅读了WPF中ComboBox的实现,我自己的实现不需要togglebutton,所以我不会使用IsDropDownOpen,我会自己处理dropdownopen。谢谢你的回答!我已经阅读了wpf中combobox的实现,我自己的实现不需要togglebutton,所以我不会使用IsDropDownOpen,我会自己处理dropdownopen。谢谢你的回答!