列表视图叠加和突出显示列表视图项

时间:2019-04-12 08:55:23

标签: c# wpf xaml

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

enter image description here

当光标在红色矩形上方时,我希望有一个这样的亮点。

enter image description here

<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 个答案:

答案 0 :(得分:-1)

设置叠加层面板的垂直和水平对齐以拉伸

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