我正在尝试创建一个既可编辑又可下拉而不是下拉的组合框。按向上箭头键(默认为向下键)时也应打开菜单。
我尝试修改 ComboBox 的默认 ControlTemplate 但它似乎不支持 IsEditable?
默认ControlTemplate
不是为了IsEditable = true
种类繁多,但样式包含一个触发器,当设置 IsEditable 时会更改它:
<Style.Triggers>
<Trigger Property="IsEditable" Value="true">
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorder}"/>
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Padding" Value="3"/>
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/>
</Trigger>
</Style.Triggers>
它将其更改为另一个ControlTemplate
其中相关部分是弹出窗口:
<Popup x:Name="PART_Popup"
AllowsTransparency="true"
Grid.ColumnSpan="2"
IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
Placement="Bottom">
...
</Popup>
我认为你应该能够改变Placement
财产给Top
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)