我正在寻找一种在WPF中识别所有ZIndex级别上的点击事件的方法。所以这意味着如果点击另一个元素(在同一个画布上 - 只有不同的ZIndex),我也想识别一次点击。
我想用这个功能实现的是我在同一个画布上有一些ListBoxes,我想在它们重叠时获得SelectionChanged事件。
编辑:添加了一些代码。
<DataTemplate DataType="{x:Type my:type}">
<ListBox SelectionMode="Extended" Background="Transparent"
ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.Elements}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<ei:CallMethodAction TargetObject="{Binding ElementName=control, Path=DataContext}"
MethodName="SelectionChanged" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Width="500" IsItemsHost="True"
Height="500"
VerticalAlignment="Top" HorizontalAlignment="Left" Background="Transparent">
</Canvas >
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
<DataTemplate>
在此示例中,SelectionChanged处理程序仅对一个对象可见(取决于ZIndex)。