如何隐藏组合框中的箭头按钮?

How to hide arrow button in combobox?

现在我只想通过代码下拉组合框。

IsDropDownOpen = true;

那么如何隐藏(而不是禁用)组合框中的箭头按钮?

要隐藏 ComboBoxToggleButton,您必须编辑组合框模板的副本。

右键单击组合框并select编辑模板。 Select 编辑副本并为其命名。 (考虑到内容大小,您可能希望将副本放入它自己的资源字典中)

生成的 ComboBox 样式将引用两个模板,ComboBoxTemplateComboBoxEditableTemplate

在每个模板中,您会发现一个 ToggleButtonx:Name:toggleButton,即您要隐藏的切换按钮。

您可以完全删除它,或者使用给定 Visibility 属性 的 WPF。你来电 ;)

我会考虑在组合框的顶部放置一个文本框并隐藏它的那一部分。 类似于:

<Grid>
    <ComboBox Name="YourCombo"/>
    <TextBox Name="VisibleValueTextBox"/>
</Grid>

您可以将 VisibleValueTextBox 的文本绑定到 YourCombo 的文本。 当您将其下拉时,下拉菜单仍将位于所有内容之上。

我不确定您的全部要求是什么,但这是一种可行的快速且可能相当肮脏的方法。