我有一个非常简单的基于组合框的控件的ControlTemplate(我称之为AutoComplete):
<ControlTemplate x:Key="AutoCompleteControlTemplate" TargetType="{x:Type ctr:AutoComplete}">
<Grid>
<TextBox x:Name="PART_EditableTextBox" Template="{StaticResource TextBoxBaseControlTemplate}" FontSize="30" FontFamily="Calibri" />
</Grid>
</ControlTemplate>
每当我将此模板应用到控件时,组合框的下拉列表拒绝打开。我错过了什么吗?
2条答案
按热度按时间uqcuzwp81#
由于下拉列表包含在控件的原始
ControlTemplate
中(您覆盖了它),因此它不再存在。要么尝试在不覆盖ControlTemplate
的情况下完成您想要的任务,要么构建您自己的下拉列表。一些提示:
ComboBox
有一个属性IsEditable
,这使得你可以在其中写入文本。如果您想构建自己的下拉列表,请查看Popup
控件。u7up0aaq2#
以下是包含工作示例
https://learn.microsoft.com/en-us/dotnet/desktop/wpf/controls/combobox-styles-and-templates?view=netframeworkdesktop-4.8#combobox-parts
的文档链接