我正在为我的客户开发一个 WPF 应用程序,我需要使用工具包:AutoCompleteBox 我已经尽可能地实现了它,但现在我面临一个问题。每当我尝试在 AutoCompleteBox 中输入内容时说“a”,请参见附图中的内容,它会弹出列表,但此时如果我尝试将窗口向左或向右或顶部移动,列表将完全保持在它所在的相同位置弹出。它不随窗户移动。知道为什么会这样吗?
我怎样才能找到一个平滑的解决方案,比如作为主窗口相应地移动。请帮忙。!
我正在为我的客户开发一个 WPF 应用程序,我需要使用工具包:AutoCompleteBox 我已经尽可能地实现了它,但现在我面临一个问题。每当我尝试在 AutoCompleteBox 中输入内容时说“a”,请参见附图中的内容,它会弹出列表,但此时如果我尝试将窗口向左或向右或顶部移动,列表将完全保持在它所在的相同位置弹出。它不随窗户移动。知道为什么会这样吗?
我怎样才能找到一个平滑的解决方案,比如作为主窗口相应地移动。请帮忙。!
一般来说,弹出窗口是自己的窗口,不属于您的主窗口。AutoCompleteBox 的作者决定不实现位置更改的默认行为。
例如,您可以注册Application.Current.MainWindow.SizeChanged
或LocationChanged
。比设置IsDropDownOpen
为假。但要小心,如果您没有正确取消注册,这可能会导致内存泄漏(例如,当您将屏幕更改为其他内容时)。
如果 IsKeyboardFocusWithin 为 false,您还可以注册IsKeyBoardFocusWithinChanged
控件以关闭 DropDown。