允许点击两个命中可测试控件

时间:2011-04-02 16:49:34

标签: wpf

我有两个控件堆叠在一起:

Button1是ZIndex 2,Button2是ZIndex 1.

两者都需要被测试,因为我需要为其他系统功能监听Button1的MouseEnter事件。但我也需要能够点击Button2。我不太清楚如何让这个功能平移(因为我不能将Button1设置为IsHitTestableFalse)。在Button1的Click事件

中,我可以说某种方式
if (hasElementBeneath):
   click that element instead

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么诀窍就是防止内部按钮的“点击”也被外部按钮处理。

要完成此操作:在内部按钮的单击处理程序中,将提供的Handled的{​​{1}}属性设置为RoutedEventArgs

像这样:

true

    <Button Click="Button1_Click" HorizontalAlignment="Center" VerticalAlignment="Center">
        <StackPanel>
            <TextBlock>Button 1</TextBlock>
            <Button Click="Button2_Click" Margin="10">Button 2</Button>
        </StackPanel>            
    </Button>