WPF: 数据绑定ListBox,其中每个项目都是一个制表位

5
我刚刚建立了一个包含ListBox的WPF表单。ListBox已绑定到文本框控件列表。我需要使每个文本框控件成为TabStop,以便用户可以按Tab键、输入数字、再按Tab键,输入下一个数字等等。
问题是,ListBox本身会捕获Tab,然后下一个Tab会跳过ListBox之后的控件。
有没有办法使ListBox中的每个文本框都可用Tab键进行导航(或者使用其他类型的数据绑定控件)?
谢谢。

@Dave,请不要突出显示每个可能的关键字,这会非常分散注意力。 - Johan
1个回答

12

我们没有足够的信息来回答这个问题(这取决于ListBox使用的模板和样式),但您可能需要调整KeyboardNavigation.TabNavigation属性以更改如何循环浏览项目,并将IsTabStop设置为false。

例如:

<ListBox DataSource={Binding} IsTabStop="False" KeyboardNavigation.TabNavigation="Cycle" />

谢谢,非常有效 - 现在我只希望我能让每个项目不停止,同时允许每个文本框获取它... - bugfixr
6
您需要在 ItemContainerStyle 中设置 IsTabStop。 - Alun Harford
嗯,不太确定我是否理解了 - 这个样式在哪里设置?我正在使用DataTemplate(windows.resources)告诉我的ListBox如何进行数据绑定。我看到了ListBox上的ItemContainerStyle,但它似乎没有IsTabStop设置。 - bugfixr
这个问题包含了关于你的问题的答案。https://stackoverflow.com/questions/35360807/inheriting-default-style-of-itemcontainerstyle-in-wpf-listview - Lee Song

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