2

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

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

4

1 回答 1

0

当然有可能。首先,您必须定义自己的 ToggleButtonStyle。ControlTemplate 包含一个内容已绑定的内容演示者。

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

如果需要,您可以添加其他样式。

那么你必须创建一个自定义的 ComboBoxStyle。创建它的最简单方法是更改​​默认模板(在 Blend 中右键单击您的组合框 -> 编辑模板 -> 编辑副本)。

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

Content="{TemplateBinding SelectionBoxItem}"

只需删除此行,如果选择了项目,您的 ToggleButton 不应获得新的内容。

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

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

这里还有一些 ControlTemplateExamples http://msdn.microsoft.com/en-us/library/ms752094(v=vs.85).aspx

希望这可以帮助。

于 2013-01-04T11:02:49.820 回答