C#Combobox,关注keydown上的Popup

时间:2015-08-19 08:48:22

标签: c# wpf combobox

我创建了一个继承自Combobox的类,该类是可编辑的。当用户搜索给定谓词时,我希望他们能够通过按下向下键来迭代列表。这有点实现,因为它偶尔工作。是否可以强制关注弹出元素?我想通过代码执行此操作,而不是在XAML中执行此操作。

我试过

var popup = Template.FindName("PART_Popup", this) as Popup;
popup.Focus();

返回错误,因为这不起作用。

我也试过

var s1 = Keyboard.FocusedElement;
            if (s1 is FrameworkElement)
            {
                ((FrameworkElement)s1).MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            }

但是这会关注TAB堆栈中的下一个元素。

这种焦点方法也不起作用,

Keyboard.Focus(popup);

编辑:

我通过将动画设置为.None来解决(达到了预期的效果),然后关闭,然后再次打开弹出窗口。

0 个答案:

没有答案