У меня проблема с элементом управления ComboBox
в WPF.
Я попытался установить IsTabStop
свойство для управления, но оно работает не так, как ожидалось.
Если ComboBox
не редактируется, IsTabStop
работает правильно, но если ComboBox
доступен для редактирования, он всегда взять фокус с клавиатуры. IsTabStop = false
не действует!
Кроме того, когда ComboBox
доступен для редактирования и IsTabStop
истинно, переход к предыдущему элементу управления с клавиатуры заблокирован. . «Shift + Tab» не работает!
Это ошибка WPF? Есть ли обходной путь?
Я использую .Net 4.0.
Это пример ...
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Height="250"
Width="600">
<StackPanel
Orientation="Horizontal"
VerticalAlignment="Center">
<TextBox
Width="50"
IsTabStop="True">
</TextBox>
<ComboBox
Name="cmb1"
Margin="10,0,0,0"
Width="50"
IsEditable="True"
IsTabStop="False">
</ComboBox>
<DatePicker
Name="dp1"
Margin="10,0,0,0"
Width="50"
IsTabStop="True">
</DatePicker>
<TextBox
Margin="10,0,0,0"
Width="50"
IsTabStop="False">
</TextBox>
<ComboBox
Name="cmb2"
Margin="10,0,0,0"
Width="50"
IsTabStop="False">
</ComboBox>
<ComboBox
Name="cmb3"
Margin="10,0,0,0"
Width="50"
IsEditable="True"
IsTabStop="True">
</ComboBox>
</StackPanel>
</Window>
попробуйте перейти с помощью табуляции от первого текстового поля к последнему комбинированному списку ... "cmb1" также сфокусируйтесь с IsTabStop = False, "cmb2" в порядке, потому что он не редактируется, на "cmb3" невозможно вернуться к предыдущему элементу управления с помощью Shift + Tab.
Также DatePicker, похоже, имеет ту же проблему.