我有一个自定义控件:一个Listbox,它定义了一组ListItemBox,每个ListItemBox包含一个RadioButton。
我没有单独为每个设置TabIndex,因为正在动态读取列表并填充控件的ItemsSource。相反,我在ListBox本身设置了KeyboardNavigation =“Local”。
这很正常(我正在通过我的表单进行选项卡,点击列表框,按顺序浏览其中的每个项目 - 按顺序 - 然后继续选中表格的其余部分),直到我选择一个单选按钮。
选择单选按钮后,当我尝试再次通过列表框开始标签时,第一个标签会将我发送到所选项目,跳过列表中该项目之前出现的所有项目。
有没有办法阻止这种不良行为的发生(最好是在XAML中,而不是在代码中)?
答案 0 :(得分:0)
这是ListBox标签的正常行为。一旦ListBox的第一项获得焦点,您就可以使用向上箭头键导航到其他项目。
如果要更改Tab键的行为,here是为ListBox中的TextBox所做的事情。希望你能为RadioButtons更新并使用这种方式。
答案 1 :(得分:0)
我最终删除了列表框中的按钮。使用列表框是从旧问题中继承的,其中绑定在单选按钮上丢失,但我的测试表明这已在4.0中修复。一旦单选按钮不再出现在列表框中,就可以根据需要进行标签行为。