我在我的WPF应用程序中使用MVVM。我的xaml文件中有一个AutoCompleteBox,它可以正常工作。但是现在,我在我的ViewModel isHideDropDown
中添加了一个bool标志,如果设置为true
,它将隐藏AutoCompleteBox的下拉列表。总而言之,如果isHideDropDown
设置为true,我希望我的AutoCompleteBox作为普通TextBox工作。
有人可以给我一些想法吗?
由于
答案 0 :(得分:1)
假设您使用的是描述为here的自动完成框。
将MinimumPrefixLength
设置为-1
将禁用控件的自动完成功能。
因此,如果向ViewModel添加int MinimumPrefixLength
属性,当-1
为true时返回isHideDropDown
,则可以绑定到该属性。另一种选择是编写一个值转换器,将布尔值isHideDropDown
转换为适当的整数。
答案 1 :(得分:1)
我没试过这个。但是,为什么不将绑定到ItemSource
属性的对象设置为null,而不是将isHideDropDown设置为true?
在autocompleteBox中,您需要设置ItemSource。如果您不想自动完成功能,只需将该对象设置为空
答案 2 :(得分:0)
您也可以尝试覆盖ItemContainerStyle:
使用DataTrigger和Binding有条件地将ItemContainer的可见性设置为Visible / Collapsed