我有一个ComboBox,如下所示:
<ComboBox Height="31" Margin="7,7,0,0" Name="callerID" IsEditable="True" Background="LightBlue" KeyDown="callerIDbar_KeyDown" Foreground="White" FontSize="17" FontWeight="Bold" HorizontalContentAlignment="Center" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />
storedCalls
是一组电话号码,将填充到ComboBox.Items
:
foreach (string call in storedCalls)
{
if (call != "Enter a number to dial")
callerID.Items.Add(call);
}
这一切都很好。我填充了Items
主要内容,因为我喜欢由ComboBox
的{{1}}个集合中的值驱动的自动完成功能。有没有办法让XAML禁用下拉错误,并禁用下拉菜单?即制作一个简单的自动完成文本框,如控件?
我已经看到完整的Items
控件包含一堆代码隐藏和复杂的标记,这不是我想要做的。我只需要禁用显示下拉菜单的功能。
答案 0 :(得分:3)
您可以处理DropDownOpened
事件,然后将其关闭
所以在XAML中你会得到:
<ComboBox x:Name="cb" DropDownOpened="cb_DropDownOpened"/>
在Code Behind中:
private void cbCategoria_DropDownOpened(object sender, EventArgs e)
{
ComboBox cb = sender as ComboBox;
cb.IsDropDownOpen = false;
}
我首先将此解决方案重新设置为将MaxDropDownHeight
设置为0。
你的选择。