5
私はWindow
をいくつも持っています。それらの1つはDataGrid
です。デフォルト以外のフォーカストラバーサルを実装したいと思います。すなわち:矢印キーの行選択を使用して、フォーカストラバーサルでDataGrid全体を1つのストップにする方法はありますか?
DataGrid
は、それぞれの行ではなく、全体として単一のストップです。DataGrid
にフォーカスがあると、ユーザーは上下のキーを使用して行をナビゲートできます。- 左キーと右キーを使用して列を移動することはできません。
- 最初の列(およびナビゲーションにのみ関連します)は、タイプが
DataGridHyperlinkColumn
です。ユーザーがSpaceキーまたはEnterキーを押すと、ハイパーリンクが実行されます。<DataGrid x:Name="DocumentTemplatesGrid" Grid.Row="2" ItemsSource="{Binding Source={StaticResource DocumentTemplatesView}}" IsReadOnly="True" AutoGenerateColumns="False" SelectionUnit="FullRow" SelectionMode="Single" TabIndex="1" IsTabStop="True"> <DataGrid.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="IsTabStop" Value="False"/> </Style> </DataGrid.CellStyle> <DataGrid.RowStyle> <Style TargetType="DataGridRow"> <Setter Property="IsTabStop" Value="False"/> </Style> </DataGrid.RowStyle> <DataGrid.Columns> <DataGridHyperlinkColumn Header="Name" Width="2*" Binding="{Binding Name}"/> <DataGridTextColumn Header="Description" Width="5*" Binding="{Binding Description}"/> <DataGridTextColumn Header="Type" Width="*" Binding="{Binding Type}"/> </DataGrid.Columns> </DataGrid>
残念ながら、それは私の期待に達しない:私は、次のコードを持っている瞬間
。 これを達成する方法を教えてください。
4つの機能のうち、援助が必要なものはどれですか?コードを試したときにTabStops(1)とUp-Down navigation(2)が正常に機能しました – ASh
複数の問題があります。 DataGridは全体として単一のストップですが、問題は、TabIndexプロパティとTabで最大の番号を持つコントロールをもう一度トラバースすると、データグリッドの行に移動し、Tabキーを使用するともう少し時間が経過し続けることですそれは行ごとに行なわれます。それは受け入れられません。行を移動するには、矢印キーのみを使用します。また、データグリッドへの最初の正しい訪問中に、私は矢印キーを使用すると、それは行のいずれも選択しません。次のまたは前のコントロールに移動します。したがって、第1および第2のフィーチャは適切に機能しない。 – Dawid