允许重叠元素的事件的画布

时间:2014-02-11 17:00:50

标签: c# wpf

我正在寻找一种在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)。

0 个答案:

没有答案