如何使两个控件同时获得焦点?

5
我试图编写一个自定义控件,其中包含一个文本框和一个列表框。但我发现当我在文本框中输入文本(即文本框拥有焦点)时,列表框会显示为未聚焦。这使我的控件看起来像两个不同的控件。
我在MSDN上读到WPF中有一种称为FocusScope的东西,但我没有成功使用它。
所以我的问题是,当它们中的任一个具有键盘焦点时,如何使列表框和文本框控件都显示为已聚焦?
1个回答

0

IsFocusScope属性设置为周围的Panel(这里是StackPanel): ListBox和TextBox在被聚焦方面一起处理

  <StackPanel FocusManager.IsFocusScope="True">
    <ListBox >
      <ListBoxItem>Item1</ListBoxItem>
      <ListBoxItem>Item2</ListBoxItem>
    </ListBox>

    <TextBox>Enter Text here...</TextBox>
  </StackPanel>

一个焦点范围的工作方式不同。它定义了确切地一个元素具有逻辑焦点的范围,当它是活动范围时也是键盘焦点。请参阅http://msdn.microsoft.com/en-us/library/ms754010.aspx#focus获取更多详细信息。 - olli-MSFT
我没有提到在我的情况下ListBox在Popup中,但TextBox不在。 - Oleg Oshkoderov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接