我有一个简单的窗口,其中的菜单包含绑定到视图模型的项目。
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来触发命令,但它的丑陋而且似乎很糟糕。