【发布时间】:2015-08-11 13:49:43
【问题描述】:
有时我对 WPF 设计人员如何丢弃明显的东西感到非常失望。他们要求我们解决不应该出现的问题......
TreeView,就这么简单(实际上它有数据模板,但问题可以通过这个来重现):
<TreeView>
<TreeViewItem Header="123" IsExpanded="True">
<TreeViewItem Header="1" />
<StackPanel Orientation="Horizontal">
<TextBox Width="100" />
<Button Content="Click"/>
</StackPanel>
<TreeViewItem Header="3" />
</TreeViewItem>
</TreeView>
现在,如果您尝试仅使用键盘进行导航:
- 无法将焦点设置到按钮;
- 当使用
TextBox从上或下通过ListViewItem时,它会专注于Up 或Down 键,然后它会停留在那里永远(我看不出有什么方法可以绕过它,Tab 键对TreeView的行为非常奇怪)。
我是不是做错了什么,或者我必须使用一些秘密帮助程序类来使用户行为所期望的默认值发生?
P.S.:我可以通过一些附加属性(又名 行为)来解决特定问题,以预览 TextBox.. 上的按键。我想。我刚刚完成了与ListView 类似的事情,我很累。也许我错过了其他人都知道的显而易见的事情?那么请告诉我。
【问题讨论】:
标签: c# wpf navigation treeview focus