Xaml Listbox项目焦点问题

时间:2015-06-03 09:54:14

标签: c# wpf xaml

我使用xaml UserControl作为WPF应用程序的一部分。我已经创建了一个列表框,我已经填充了文本搜索中的数据。此数据显示在按钮上,用于从搜索中选择用户所需的选项。

cam.unlock();

这样可以正常工作,但是当我从文本框中切换到列表框然后使用箭头键选择一个选项时,按下回车键不会选择按钮。相反,我必须再次标记以关注按钮,然后按Enter键选择它。

有没有办法避免必须按最后一个tab键才能专注于按钮?

对Xaml和C#解决方案(最好是MVVM)开放

2 个答案:

答案 0 :(得分:2)

您好,您可以在ListBox中添加以下代码,这将解决ListBoxItem上的焦点问题。

    <ListView.ItemContainerStyle>
        <Style TargetType="ContentControl">
            <Setter Property="Focusable" Value="False"/>
        </Style>
    </ListView.ItemContainerStyle>

答案 1 :(得分:0)

原因是你有级联控件。当您使用箭头键时,列表框是活动控件,因此将根据列表框而不是按钮触发所有事件。

前进的方法是在所选项目上分配按键事件,然后启动按钮触发的功能。

类似的东西:

listBox_keyPressed()
{
   if(selecteditem)
   {
      DoSomethingFor(selectedItem);
   }
}