首页 文章

如何获取WPF中的默认Tab键顺序(即Visual Tree顺序)?

提问于
浏览
0

我正在为我的应用程序添加一个验证模块,它将引导用户注意需要注意的输入 . 我想按照它们添加到Visual Tree中的顺序执行这些控件 . 每个控件的Tab索引设置为Int Max,这意味着只按可视树的顺序 .

我的验证模块只是获得了一堆控件来验证 . 它需要从上到下排序,以便用户可以按顺序浏览表单 . 我想保留原始的标签行为 . I just need to know the visual tree order of the controls in my list so I can sort them properly.

1 回答

  • 0

    经过几天的研究,我意识到这不是开箱即用的 . 最后,我只是调用FindVisualChildren来获取所有FrameworkElements,如果控件实现了我的IValidatable接口,我从计数器中为它分配了下一个可用的索引 . 我必须添加一个名为Order的依赖项属性才能使它工作(我不想使用现有的TabIndex) . 然后,当我得到需要验证的控件列表时,我只是按顺序对它们进行排序 .

    这绝对不是一个可扩展的解决方案,但幸运的是我只需要运行一次 .

    如果有人有更好的解决方案,请发布 . 我觉得很脏

相关问题