我是通用Windows平台(UWP)和XAML的新手。
我有一个显示垂直堆叠数据的GridView。这工作正常,但当我按住GridView.ItemTemplate / DataTemplate之一时,我得到一个灰色边框:
我试图将这些属性放在各种项目上,但没有成功:
FocusVisualPrimaryThickness="0"
FocusVisualSecondaryThickness="0"
FocusVisualPrimaryBrush="Black"
FocusVisualSecondaryBrush="Black"
FocusVisualMargin="0"
我也注意到这些属性。这是否意味着它尚未实施?:
这是我的代码:
<GridView x:Name="IconGridView"
Canvas.ZIndex="2"
Grid.Row="0"
Margin="398,728,402,107"
ItemClick="Clicked_On_Video_Preview_Image"
IsItemClickEnabled="True"
IsSwipeEnabled="True"
ItemsSource="{x:Bind _videoItems}"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollMode="Enabled"
ScrollViewer.VerticalScrollMode="Disabled"
BorderThickness="0"
SelectionMode="None"
BorderBrush="Black"
Background="Black" IsHoldingEnabled="False">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Vertical" Background="Black" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate x:DataType="model:VideoItem">
<StackPanel Margin="30,0,30,0" HorizontalAlignment="Center" BorderThickness="0" BorderBrush="Black" Background="Black" Height="245">
<Grid>
<Border Name="PreviewBorder" BorderThickness="2" BorderBrush="#000000" Margin="0,55,0,55">
<Image Height="135" Width="240" Source="{x:Bind ThumbnailFilename}" Loaded="Video_Preview_Loaded" Stretch="UniformToFill" />
</Border>
<Image Margin="0,55,0,55" Height="29" Width="29" Source="Assets/play_vit.png" />
<TextBlock Margin="0,185,0,0" Text="{x:Bind Title}" CharacterSpacing="200" TextWrapping="WrapWholeWords" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="12" Foreground="white" Width="240" Height="45"/>
</Grid>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
答案 0 :(得分:0)
当用户使用TAB键更改聚焦元素时,这是为每个GridViewItem显示的焦点视觉效果。您可以移除焦点视觉效果,但它现在使您的应用程序不易访问,因为人们无法使用键盘来浏览您的UI(并且叙述者无法读出焦点项目)。
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="IsTabStop" Value="False" />
</Style>
</GridView.ItemContainerStyle>
相反,如果要更改焦点视觉的外观,则需要在每个GridViewItem上设置Focus*
属性:
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="FocusVisualPrimaryBrush" Value="Red" />
<Setter Property="FocusVisualSecondaryBrush" Value="Blue" />
<!-- etc -->
</Style>
</GridView.ItemContainerStyle>