Xaml 将鼠标悬停在-UWP(Windows 10)上时,列表视图项未高亮显示
我有一个UserControl用作ListView中的项模板,当我悬停某个特定项时,它不会高亮显示它,但我的项目中还有其他ListView,其中该特定项高亮显示 我已经从我的UserControl中删除了代码,并将其直接复制/粘贴到我的DataTemplate中,以检查它是否与我使用的UserControl相关,但没有区别 此ListView包含在SemanticZoom中,因此我再次删除了SemanticZoom以检查行为是否会改变,但没有效果!仍然没有突出显示 我的所有列表视图都将SelectionMode设置为Single,并且我在应用程序级别定义了一个样式,该样式应用于我的所有列表视图 这是我的UserControl中的代码: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
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问题,但忘记将其从用户控件中删除。非常感谢!