我正在创建一个UserControl
由 aTextBox
和 a组成的ListView
。TextBox
只要控件具有键盘焦点,我希望键盘焦点保持不变(ListView
不应该从 中删除键盘焦点的选择更改TextBox
)。
我已经尝试捕获GotKeyboardFocus
并将ListView
键盘焦点传递回TextBox
usingKeyboard.Focus(),
但这似乎取消了ListView
. 下面的代码显示了问题。有谁知道如何实现这个功能?
<Window x:Class="WpfApplication5.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<TextBox x:Name="TextBox1" />
<ListView x:Name="ListBox1" Keyboard.GotKeyboardFocus="ListBox1_GotKeyboardFocus">
<ListViewItem Content="Able" />
<ListViewItem Content="Baker" />
<ListViewItem Content="Charlie" />
</ListView>
</StackPanel>
</Window>
using System.Windows;
using System.Windows.Input;
namespace WpfApplication5
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void ListBox1_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
Keyboard.Focus(TextBox1);
}
}
}