WPF Menu / MenuItem MouseOver可防止单击窗口

时间:2016-03-29 13:28:14

标签: c# wpf xaml

我有一个简单的窗口,其中的菜单包含绑定到视图模型的项目。

public class User {

private final long id;
private final String username;
private final boolean enabled;
private final Timestamp timestamp;

 public User(long id, String username, boolean enabled, Timestamp timestamp) {
    this.id = id;
    this.username = username;
    this.enabled = enabled;
    this.timestamp = timestamp;
}


 // getters & setters 

 @Override
  public String toString() {
    return "User{" + "id=" + id + ", username=" + username + ", enabled=" + enabled + ", timestamp=" + timestamp + '}';
}

菜单风格的一切都是默认的平面简。没有什么花哨。没有修改。

我在测试用户界时注意到一些奇怪的悬停行为。如果我将鼠标悬停在其中一个菜单项上并突出显示,它似乎会陷入困境。即使鼠标离开,也要关注该项目。

所以我们说我在我的应用程序中进行了鼠标移动,我的鼠标光标移过菜单,突出显示一个项目。我的鼠标永远不会停止并尝试单击窗口栏将UI移动到另一个监视器,单击从不落在菜单栏上。我必须单击两次,一次从菜单项中删除焦点,然后再次选择并拖动窗口。这也可以防止对最小化,最大化和关闭按钮的点击,或者在窗体内部的任何焦点。似乎MenuItem没有正确注意到鼠标已经离开了。

有什么想法吗?我试过去菜单菜单和MenuItem样式并没有成功。我已经将DataTemplate更改为包含一个Grid,并使用Interactions来触发命令,但它的丑陋而且似乎很糟糕。

0 个答案:

没有答案