在WPF中显示常量文本的ComboBox

时间:2012-12-06 09:56:55

标签: wpf combobox

我想在this answer中实现第二个(插入宏)解决方案。

是否可以使用始终显示某些文本的组合框(折叠时)?它绑定到ItemSource,用户可以展开下拉列表并选择一个项目,但我希望文本在折叠时始终显示“插入宏”或类似的内容。我不希望自定义文本显示为选择

1 个答案:

答案 0 :(得分:0)

当然有可能。 首先,您必须定义自己的ToggleButtonStyle。 ControlTemplate包含其内容已绑定的contentpresenter。

<ContentPresenter Content="{TemplateBinding Content}"
OverridesDefaultStyle="True"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>

如果您愿意,可以添加其他样式。

然后你必须创建一个自定义ComboBoxStyle。最简单的创建方法是更改​​默认模板(在ComboBox中右键单击 - >编辑模板 - >编辑副本)。

此模板中的ContentPresenter应具有如下所示的Binding:

Content="{TemplateBinding SelectionBoxItem}"

只需删除此行,如果选择了某个项,则ToggleButton不应获取新内容。

现在您应该能够创建具有固定内容的ComboBox,如下所示:

<ComboBox Style="{StaticResource ComboBoxStyle}" Text="Title">

以下是一些ControlTemplateExamples http://msdn.microsoft.com/en-us/library/ms752094(v=vs.85).aspx

希望这有帮助。