Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 图像';在XP中,左键单击无法打开s菜单_C#_.net_Wpf_C# 4.0 - Fatal编程技术网

C# 图像';在XP中,左键单击无法打开s菜单

C# 图像';在XP中,左键单击无法打开s菜单,c#,.net,wpf,c#-4.0,C#,.net,Wpf,C# 4.0,我试图有一个图像(在WPF)显示菜单时,鼠标左键单击。它在7中运行良好,但是,当我尝试在XP中使用它时,它只在右键单击时显示?有什么想法吗 以下是XAML代码: <Image x:Name="buttonHelp" Width="32" Height="32" Margin="0,0,5,0" Source="/Little Registry Optimizer;component/Resources/Help.png" MouseEnter="button_MouseEnter" Mo

我试图有一个图像(在WPF)显示菜单时,鼠标左键单击。它在7中运行良好,但是,当我尝试在XP中使用它时,它只在右键单击时显示?有什么想法吗

以下是XAML代码:

<Image x:Name="buttonHelp" Width="32" Height="32"  Margin="0,0,5,0" Source="/Little Registry Optimizer;component/Resources/Help.png" MouseEnter="button_MouseEnter" MouseLeave="button_MouseLeave" MouseDown="buttonHelp_MouseLeftButtonDown" />

谢谢

我用按钮而不是图像解决了这个问题。您仍然可以将按钮设置为将图像作为其内容。然后,您可以简单地订阅按钮单击事件(我知道这将在XP或任何其他系统上工作)

我做的另一件事是用以下代码设置上下文菜单的位置:

buttonHelp.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
ContextMenuService.SetPlacement(buttonHelp, System.Windows.Controls.Primitives.PlacementMode.Bottom);

只是为了确保(您应该已经识别),但是在XP下您的鼠标没有配置为左手使用?如果您在MouseLeftButtonDown事件中设置断点,它会被击中吗?谢谢!我将其更改为按钮,并更改了控件模板,使其显示图像(无任何边框或任何内容),并且效果良好。代码如下:
buttonHelp.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
ContextMenuService.SetPlacement(buttonHelp, System.Windows.Controls.Primitives.PlacementMode.Bottom);