在 TreeView Silverlight 4.0 中切换选项卡
我有一个树视图。我正在动态创建树视图项。每个树视图项都有一个用于标题的堆栈面板。堆栈面板包含一个标签、四个文本框和两个按钮。我有一个类级选项卡索引计数器。在创建文本框时,我将选项卡索引设置为等于选项卡索引计数器,并递增。第四个文本框和两个按钮未分配选项卡索引,并且 IsTabStop 设置为 false。不在文本框上设置选项卡索引会产生相同的结果。
完成我的情况设置后,当我在任何文本框中使用 Tab 键时,它会将焦点集中到下一个树视图项目中的第一个文本框,而不是当前树视图项目标题中的下一个文本框。
这是怎么回事?
我一直在做研究,发现了这个: http://social.msdn.microsoft.com/Forums/en/wpf/thread/98423dda-23c5-4480-b588-50ea9d313b64
唯一的问题是 SL4 中不存在 TabNavigation.Continue。
I have a tree view. I am creating the tree view items dynamically. Each tree view item has a stack panel for a header. The stack panel contains a label, four text boxes, and two buttons. I have a class-level tab index counter. On text box creation, I set the tab index equal to the tab index counter, and increment. The fourth text box and two buttons do not get assigned a tab index, and IsTabStop is set to false. Not setting tab indexes on the text boxes has the same outcome.
With the setup of my situation complete, when I tab inside any of the text boxes, it gives focus to the first text box in the next tree view item instead of the next text box in the header of the current tree view item.
What's up with that?
I've been doing research and I found this: http://social.msdn.microsoft.com/Forums/en/wpf/thread/98423dda-23c5-4480-b588-50ea9d313b64
Only problem is that TabNavigation.Continue doesn't exist in SL4.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您可能需要做的是首先为 TreeViewItem 创建 ItemContainerStyle,然后在样式中,将 Header 按钮内的 ContentPresenter 替换为 ContentControl(继承自允许 IsTabStop 的 Control)。然后您应该能够通过 StackPanel 中的控件进行选项卡切换,而无需设置任何选项卡索引。
请尝试一下,如果有帮助请告诉我。 :)
ItemContainerStyle:
I think what you might need to do is to first create an ItemContainerStyle for a TreeViewItem, then in the style, replace the ContentPresenter inside the Header button with a ContentControl (inherits from Control which allows IsTabStop). Then you should be able to tab thru controls in your StackPanel without setting any tab index.
Please give it a try and let me know if it helps. :)
ItemContainerStyle: