选项卡关注列表视图跳过标题



我有一个listview控件,如下面的标题模板和项目模板。在单击打开此列表视图的按钮时,焦点首先指向整个列表视图。按tab键时,焦点会跳转到第一个列表视图项。无论如何,我可以使用向上/向下箭头键导航到标题,但预期的行为是按tab键,焦点首先来到标题模板

<ListView 
x:Name="DataListView"
Grid.Row="1" 
IsItemClickEnabled="True"
ItemClick="ListView_ItemClick"
RightTapped="ListView_RightTapped"
SelectionMode="None"
IsTabStop="{x:Bind utilities:XamlExtensions.Invert(ViewModel.IsInitialSetupCompleted), Mode=OneWay}"
ItemTemplateSelector="{StaticResource ItemTemplateSelector}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem" BasedOn="{StaticResource NoMarginListStyle}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderContainerStyle>
<Style TargetType="ListViewHeaderItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</GroupStyle.HeaderContainerStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="today:HeaderGroupViewModel">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock 
Text="{x:Bind Name}"
Grid.Column="0"
TextWrapping="WrapWholeWords"/>
<Button
Grid.Column="1"
Click="MoreOptions_Click"
RightTapped="Button_RightTapped"
Style="{ThemeResource BrandedChromelessButton}">
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel AreStickyGroupHeadersEnabled="False"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>

任何帮助都是感激的。我尝试使用标签索引,但没有工作。由于

ListviewItem可以正常点击,然后获得焦点。

所以,你可以像下面这样在HeaderTemplate的DataTemplate中添加一个ListviewItem。

<ListView.GroupStyle>
<GroupStyle >
<GroupStyle.HeaderTemplate>
<DataTemplate>
<ListViewItem>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Key}" FontSize="35" FontWeight="Bold"/>
<Button Margin="30,0,0,0" />
</StackPanel>
</ListViewItem>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>

更新:

可以设置ListView的IsTabStop属性和HeaderItem中的button为false。
请参考以下内容。

<ListView 
……                  
IsTabStop="False">
……
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock ……/>
<Button IsTabStop="False"  Grid.Column="1" Margin="30,0,0,0" Content="Click me"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
….        
</ListView>

最新更新