Tastatur-navigation im WPF-TreeView
Meine TreeViewItem.Elemente, die Daten der Vorlage enthält 2 Textfelder. Wenn ich drücken Sie die Tab-Taste in die erste textbox den Fokus geht auf das zweite Textfeld. Ich will, wenn ich Tab drücke, die auf der zweiten textbox den Fokus werde auf die erste textbox auf der nächsten TreeViewItem Unterpunkt und wenn es TreeViewItem hat nicht im nächsten Unterpunkt, der Fokus geht auf den ersten Unterpunkt auf der nächsten TreeViewItem. Wie macht man das?
<TreeView Name="resultsTv"
ItemTemplate="{StaticResource excerciseResultDataTemplate}"
KeyboardNavigation.TabNavigation="Contained">
<TreeView.ItemContainerStyle>
<Style>
<Setter Property="TreeViewItem.IsExpanded" Value="True"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="Contained"></Setter>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<HierarchicalDataTemplate x:Key="excerciseResultDataTemplate" ItemTemplate="{StaticResource setDataTemplate}" ItemsSource="{Binding Sets}">
<StackPanel Orientation="Horizontal" KeyboardNavigation.TabNavigation="Continue">
<Label Content="{Binding Name}"></Label>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate x:Key="setDataTemplate">
<StackPanel Orientation="Horizontal" KeyboardNavigation.TabNavigation="Continue">
<TextBox Width="50" Text="{Binding Weight}"/>
<TextBox Width="50" Text="{Binding Repeats"/>
</StackPanel>
</DataTemplate>
InformationsquelleAutor Evl-ntnt | 2011-05-31
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass dieses problem mich, ich sah diese im internet auf, und sah nur forum Beiträge über kommerzielle benutzerdefinierte Steuerelemente für WPF. Da Sie jedoch verlassen sich auf die generische container-Entwurf von WPF-Sie funktionieren immer noch:
Legen Sie die
KeyboardNavigation.TabNavigation
Eigentum IhrerTreeView
tag zuContained
und gehören der folgenden, die in Ihrer Struktur:Gibt es drei Probleme mit dieser. Shift-tab funktioniert einfach nicht. (Siehe diese Frage.) Darüber hinaus werden die up-und down-Pfeiltasten, nicht viel tun. Und ich habe gerade entdeckt, dies zu tun, behandeln die MouseLeftButtonUp-Ereignis, so dass Sie Ihre eigenen Ereignis wird nicht ausgelöst.