私はWindow
それにいくつかのコントロールを持っています。それらの1つはですDataGrid
。デフォルト以外のフォーカス トラバーサルを実装したいと考えています。すなわち:
DataGrid
各行ではなく、全体として 1 つのストップです。- にフォーカスがある場合
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>
残念ながら、それは私の期待に達していません。これを達成する方法を説明していただけますか?