1

Closed

Can't send KeyEvent from Intellibox control

description

The problem occurs when search is completed. Control can't get focused and there is no way to send keystroke from control (ex. Key.Escape to hide search results).

comments

StephenWard1984 wrote Sep 12, 2013 at 9:50 PM

I'm not sure I understand the problem Is the issue
  • the search results don't close when the search is finished?
  • the Intellibox control doesn't respond to keystrokes after a search is finished?
  • you need to programmatically send keystrokes to the intellibox control?
Also, if you could describe the exact steps you took before you saw the behavior you reported, that would be great!

thanks
Stephen

eth_ wrote Sep 13, 2013 at 7:16 AM

What you mean finished? When search is done (DoSearch() method returns) I programmatically set ItemSelected property if there was only one search result. After this I want to close search result Popup by sending Key.Escape to hide that popup. It doesn't work.
Also, I think there is a problem with setting focus on the control programmatically by intelliboxSearchControl.Focus() or using FocusManager in XAML. That problem was reported here https://intellibox.codeplex.com/discussions/226159

When I'm using Intellibox control by mouse or keyboard device, it work great, but I want to control it programmatically also (user do not have to use the keyboard or mouse).

I found workaround for that (but I think that is not really nice):
var child = ExtensionMethods.GetChildOfType<System.Windows.Controls.Primitives.Popup>(intelliSearchControl);
child.IsOpen = false;
T GetChildOfType<T>(this DependencyObject depObj) where T : DependencyObject is a method which finding child of given type T of object.


thanks for your reply,
eth_

StephenWard1984 wrote Sep 20, 2013 at 2:53 PM

Thanks for the fuller description of the problem. I'll work on it this weekend or next and send you an update when a fix is available.

StephenWard1984 wrote Oct 2, 2013 at 2:38 AM

fixed in checkin # c0561ec21185 and version 1.1

Set the "AutoSelectSingleResult" property to True to achieve the same functionality.