Xaml 将鼠标悬停在-UWP(Windows 10)上时,列表视图项未高亮显示

Xaml 将鼠标悬停在-UWP(Windows 10)上时,列表视图项未高亮显示,xaml,listview,winrt-xaml,win-universal-app,uwp,Xaml,Listview,Winrt Xaml,Win Universal App,Uwp,我有一个UserControl用作ListView中的项模板,当我悬停某个特定项时,它不会高亮显示它,但我的项目中还有其他ListView,其中该特定项高亮显示 我已经从我的UserControl中删除了代码,并将其直接复制/粘贴到我的DataTemplate中,以检查它是否与我使用的UserControl相关,但没有区别 此ListView包含在SemanticZoom中,因此我再次删除了SemanticZoom以检查行为是否会改变,但没有效果!仍然没有突出显示 我的所有列表视图都将Selec

我有一个UserControl用作ListView中的项模板,当我悬停某个特定项时,它不会高亮显示它,但我的项目中还有其他ListView,其中该特定项高亮显示

我已经从我的UserControl中删除了代码,并将其直接复制/粘贴到我的DataTemplate中,以检查它是否与我使用的UserControl相关,但没有区别

此ListView包含在SemanticZoom中,因此我再次删除了SemanticZoom以检查行为是否会改变,但没有效果!仍然没有突出显示

我的所有列表视图都将SelectionMode设置为Single,并且我在应用程序级别定义了一个样式,该样式应用于我的所有列表视图

这是我的UserControl中的代码:

<UserControl
    x:Class="MyApp.UserControls.ZoomedIn"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MyApp.UserControls"
    xmlns:converters="using:MyApp.Converters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="470">

    <UserControl.Resources>
        <converters:WrapOnConverter x:Key="WrapOnConverter"/>
    </UserControl.Resources>

    <Grid x:Name="Details" 
          Background="White" 
          Grid.Column="0" 
          Grid.Row="0"
          Margin="12,5,12,5">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Image x:Name="Image" 
               Source="{Binding Image}" 
               Width="100" 
               Height="100" 
               Stretch="UniformToFill" 
               Grid.Row="0" 
               Grid.Column="0" 
               Grid.RowSpan="2" 
               HorizontalAlignment="Left" 
               VerticalAlignment="Top" />
        <Image x:Name="Image2" 
               Source="{Binding Image2}" 
               Width="30" 
               Height="30" 
               Margin="67,67,0,0" 
               Stretch="UniformToFill" 
               Grid.Row="0" 
               Grid.Column="0" 
               Grid.RowSpan="2" 
               HorizontalAlignment="Left" 
               VerticalAlignment="Top" />
        <Image x:Name="Image3" 
               Source="{Binding Image3}" 
               Width="30" 
               Height="30" 
               Margin="32,67,0,0" 
               Stretch="UniformToFill" 
               Grid.Row="0" 
               Grid.Column="0" 
               Grid.RowSpan="2" 
               HorizontalAlignment="Left" 
               VerticalAlignment="Top" />        
        <StackPanel Margin="5,0,5,0" 
                    Grid.Row="0" 
                    Grid.Column="1" 
                    VerticalAlignment="Top">
            <TextBlock x:Name="Title" 
                       Text="{Binding Title}" 
                       Foreground="{ThemeResource
                       SystemControlForegroundAccentBrush}"
                       FontWeight="SemiBold"
                       VerticalAlignment="Top" 
                       TextWrapping="{Binding 
                       Converter={StaticResource WrapOnConverter}}" />
            <TextBlock x:Name="Time" 
                       Text="{Binding Time}" 
                       Foreground="DarkCyan" 
                       VerticalAlignment="Top" 
                       HorizontalAlignment="Left"
                       Margin="0,5,0,5" />
            <TextBlock x:Name="Description"
                       Text="{Binding Description}" 
                       Foreground="Black" 
                       TextWrapping="Wrap" 
                       VerticalAlignment="Top" 
                       HorizontalAlignment="Left"
                       MaxLines="2"/>
        </StackPanel>
    </Grid>
</UserControl>

我的ListView定义如下:

<ListView ItemsSource="{Binding Source={StaticResource cvsDetails}}"
          SelectionMode="Single"
          SelectedIndex="{Binding SelectedDetailIndex}"
          SelectedItem="{Binding SelectedDetail, Mode=TwoWay}" 
          ItemContainerStyle="{StaticResource ListViewItemStyle}">
          <ListView.ItemTemplate>
              <DataTemplate>
                  <usercontrols:ZoomedIn DataContext="{Binding}" />
              </DataTemplate>
          </ListView.ItemTemplate>
          <ListView.GroupStyle>
              <GroupStyle>
                  <GroupStyle.HeaderTemplate>
                      <DataTemplate>
                          <TextBlock FontSize="20" 
                                     Text="{Binding CategoryName}" 
                                     Foreground="{ThemeResource
                                     SystemControlForegroundAccentBrush}" 
                                     FontWeight="SemiBold" />
                      </DataTemplate>
                  </GroupStyle.HeaderTemplate>
              </GroupStyle>
          </ListView.GroupStyle>
          <Interactivity:Interaction.Behaviors>
              <Core:EventTriggerBehavior EventName="Tapped">
                  <Core:InvokeCommandAction 
                      Command="{Binding ItemClickCommand}"
                      CommandParameter="{Binding SelectedDetail}" />
              </Core:EventTriggerBehavior>
          </Interactivity:Interaction.Behaviors>
  </ListView>

有人知道为什么一个列表视图的行为会与其他列表视图不同吗


谢谢。

由于设置了
Background=“White”
背景,因此项目不会突出显示,并且此颜色将始终高于突出显示颜色。
UserControl
后台需要设置为
Transparent

要使其按您所希望的方式工作,您需要更改
列表视图的
ItemContainerStyle
。如果在
列表视图中有不同的元素,则可以使用
ItemContainerStyleSelector

您可以阅读有关
ListViewItem
的更多信息

您需要更改列表视图项的
Background
属性,例如:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Background" Value="White"/>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

Spot on!!我将背景色设置为调试UI问题,但忘记将其从用户控件中删除。非常感谢!