我想在this answer中实现第二个(插入宏)解决方案。
是否可以使用始终显示某些文本的组合框(折叠时)?它绑定到ItemSource,用户可以展开下拉列表并选择一个项目,但我希望文本在折叠时始终显示“插入宏”或类似的内容。我不希望自定义文本显示为选择
答案 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
希望这有帮助。