wpf - 点击图像但仍然响应鼠标悬停?

标签 wpf image xaml mouseover

标题基本概括了所有内容。有没有办法让 XAML 代码中的图像可见,不可点击(我试图让它后面的元素接收点击)并同时响应鼠标悬停事件? IsHitTestVisible属性禁用鼠标悬停。这是一个供引用的代码片段(它实际上使用了多个额外的 MultiDataTriggers,但这与此处无关)。当前鼠标悬停有效,但点击它不起作用(添加 IsHitTestVisible="True" 使其相反)

<Image Name="AutoUpdateStatus"
       Stretch="UniformToFill"
       Grid.Column="2" Grid.Row="0"
       Height="32" Width="32"
       HorizontalAlignment="Center"
       Margin="68,2,61,2"
       VerticalAlignment="Center">
    <Image.Style>
        <Style>
            <Setter Property="Image.Source">
                <Setter.Value>
                    <Binding Source="{x:Static res:AppResources.ok}">
                        <Binding.Converter>
                            <Helpers:IconToImageSourceConverter />
                        </Binding.Converter>
                    </Binding>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                        <Condition Binding="{Binding Path=AutoUpdateStatusIcon}" Value="ok" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Image.Source">
                        <Setter.Value>
                            <Binding Source="{x:Static res:AppResources.ok_glow}">
                                <Binding.Converter>
                                    <Helpers:IconToImageSourceConverter />
                                </Binding.Converter>
                            </Binding>
                        </Setter.Value>
                     </Setter>
                 </MultiDataTrigger>
             </Style.Triggers>
         </Style>
     </Image.Style>
 </Image>

最佳答案

一种简单的方法是根据 z 顺序正确对齐元素。如果您可以将图像移到后面,并将要单击的元素放在顶部,您就可以轻松地完成这项工作。此外,让事情变得有点透明,你看到的图像比顶部的元素更多,这将使用户体验无缝。

当然,你需要使用像Grid这样的容器,它可以在样本平面中添加多个元素。

-法哈德

关于wpf - 点击图像但仍然响应鼠标悬停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5822667/

相关文章:

c# - 仅在 wpf 上显示 X 和最小化按钮

c# - 我可以将 DataContext 设置为静态类吗?

image - Go中如何打开一张图片获取黑白像素的二进制数据?

c# - 将联系人从我的 Windows 应用商店应用程序发送到 People App,以将其添加到 Exchange 帐户

.net - 如何在 TreeView 中选择下一个/上一个 TreeViewItem?

java - 无法解析方法 'setImageResource' (android.graphics.drawable.Drawable)

css - DIV 中的中心图像(原始图像可以比 DIV 大)

wpf - 有哪些方法可用于 WPF 中的虚拟设计时数据?

wpf - 响应 View 模型中的路由命令

wpf - 为什么 Observable.range 在 GUI 线程上运行时会卡住?