问题
外层MainWindow.xaml里有一个Container(ContentPresenter),调用一个CreateJob 页面,里面是一行行的<TextBlock>,最后一个是<DataPicker>。
因为会调用不同的子页面,这个Containner(ContentPresenter)需要写清TabNavigation的方式,这里是Local
而里面这些Textblock设置了一定顺序的Index,最后一个是<DataPicker>的index是最大的。
但是这个datapicker是由一个DataTemplate组成的,其再内层是一个TextBlock和一个Button组成。
问题是KeyboardTab不会走到内层的DataPicker的Button中。
解决
1:检查内层DataPicker的DataTemplate的Button有没有设置Focusable= false
2:外层<DataPicker>要是KeyboardNavigation.TabNavigation="Continue"
给出CreateJob页面空间的内部完整设置:
下层DataPicker的DT是
更多参考:
KeyBoardNavigationMode
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/af39c593-6a9f-4899-88b6-b28016de7d6f
Focus overview:
http://msdn.microsoft.com/en-us/library/aa969768.aspx#Keyboard_Navigation
Unable to focus the Calendar button on DatePicker of wpf toolkit
http://msdn.microsoft.com/en-us/library/system.windows.input.keyboardnavigationmode.aspx