列表视图覆盖和突出显示列表视图项目

Posted

技术标签:

【中文标题】列表视图覆盖和突出显示列表视图项目【英文标题】:Listview overlay and highlighting listview items 【发布时间】:2019-09-03 00:00:00 【问题描述】:

我有一个包裹在 Grid 中的 ListView,在它上面有一个面板覆盖 (How to make overlay control above all other controls?)。我想突出显示即使光标不在其上方的列表视图项。

当光标在红色矩形上时,我希望有这样的高亮显示。

<Grid Name="grid">
    <ListView Name="timeSpansListBox" SelectionMode="Extended" HorizontalAlignment="Left" Width="Binding ElementName=timePanel, Path=ActualWidth">
      ...
    </ListView>
    <!-- our overlay -->
    <MyPanel Name="timePanel" Panel.ZIndex="999">
      ... items (rectangles you can see on the image)
    </MyPanel>
</Grid>

我该怎么做?

类似问题:How to get control with lower zindex when mouse clicked in wpf?

我可以将IsHitTestVisible 设置为false,但我需要面板项目保持可点击状态,所以这不是一个选项。

如果只有某种方法可以以编程方式设置IsMouseOver...

【问题讨论】:

【参考方案1】:

设置垂直和水平对齐以拉伸覆盖面板

<MyPanel Name="timePanel" Panel.ZIndex="999"
         HorizontalAlignment="Stretch" 
         VerticalAlignment="Stretch">
    ... items (rectangles you can see on the image)
</MyPanel>

【讨论】:

以上是关于列表视图覆盖和突出显示列表视图项目的主要内容,如果未能解决你的问题,请参考以下文章

单击上一个活动的项目(列表视图)后如何突出显示下一个活动的项目(列表视图)?

Android:将列表视图项设置为“选定”(突出显示)

如何选择/突出显示列表视图中的项目而不触摸它?

如何在单击另一个视图(即按钮)时突出显示自定义列表视图

如果在 Android Studio 上突出显示至少一个子视图,则突出显示可扩展列表视图的标题视图

突出显示列表视图项