[英]UI Automation on Custom Control: Need to use CTRL+TAB (tab focuses on first object)
我有一个从ListView
派生的自定义控件。 此列表视图使用GridView
包含两列(每列适当地模板化):一列是标题(只是一个标签),另一列是控件。
使用时,它看起来像这样:
<l:CoolList>
<TextBox l:CoolList.Caption="Name" Text={Binding Name} />
<TextBox l:CoolList.Caption="Age" Text={Binding Age} />
<WrapPanel>
<Button Click="btnOkay_click" />
<Button Click="btnCancel_click" />
</WrapPanel>
</l:CoolList>
最终看起来像这样(一切都很好地对齐):
Name: [____________] Age: [____________] [Okay][Cancel]
现在,当我想使用TAB遍历这些文本框时,它仅专注于第一个文本框。 要将焦点更改为其他文本框,必须按CTRL + TAB。
我浏览了MSDN网站,看起来我可能需要实现AutomationPeer,但是它确实使我应该做的事情感到困惑。 有经验的人是否知道如何使子文本框可访问(仅使用TAB)?
注意:WPFToolKit数据网格是我要寻找的一个很好的例子。 您可以按TAB键(而不是CTRL + TAB键)浏览每个网格项目。 他们似乎为DataGrid,每一行,每一行演示者,每个单元格和每个单元格演示者实现了AutomationPeers。 我正在寻找一个通用的解决方案,通过该解决方案,我可以将控件的子级暴露给TAB。
题:
如何使TAB(可能是ListViewItem的子级)可以访问ListView的项目?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.