WPF:如何创建与按钮重叠的弹出图像?

时间:2010-07-14 04:40:44

标签: wpf popup

我想使用一个按钮,当鼠标进入按钮时,会显示一个弹出图像。复杂的是图像将与按钮重叠,我希望图像保持可见,直到鼠标离开按钮或图像。我发现,当图像与按钮重叠时,我不能使用按钮的鼠标离开事件,因为只要鼠标移动到按钮的一部分,图像被隐藏的图像重叠。

这似乎是一个简单的要求,但我无法获得有效的解决方案,任何帮助都会非常感激

3 个答案:

答案 0 :(得分:1)

您所要做的就是将图像放在按钮内(例如使用Popup),您甚至可以在XAML中完成所有操作:

<Button>
    <Button.ContentTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Text="Button Text"/>
                <Popup Name="popup">
                    <Image Source="Image.png"/>
                </Popup>
            </Grid>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource TemplatedParent}}" Value="true">
                    <Setter TargetName="popup" Property="IsOpen" Value="true"/>
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </Button.ContentTemplate>
</Button>

我使用了DataTemplate并没有将内容放入按钮,因为我需要使用触发器来显示和隐藏弹出窗口。

答案 1 :(得分:0)

检查Mouse.Capture on MSDN
因此,您可以确保元素接收鼠标输入,无论光标是否在其边界内。

答案 2 :(得分:0)

尝试将此Image的“IsHitTestVisible”设置为False。