我想在同一上下文菜单中设置某些(不是全部)上下文菜单项的可见性,而不必显式设置每个项目的可见性,因为这似乎很多样板代码。有没有办法为这些菜单项提供一个通用容器或类似的容器,以便我可以简单地设置此容器的可见性?我已经在Google上搜索了一下,但到目前为止没有任何相关信息。
我正在考虑为这些菜单项提供相同的CSS类,然后创建2个样式表来定义此类的行为,一个样式表使用visibility:visible
,另一个样式表使用visibility:hidden
,然后可以动态加载样式表可以满足我的需求。我相信这可以解决问题,但就我的口味而言似乎有点不客气。我希望以更普通的方式来做到这一点。
答案 0 :(得分:2)
将其可见性属性绑定到一个单独的属性。
private final BooleanProperty selectionItemsVisible =
new SimpleBooleanProperty();
// ...
cutMenuItem.visibleProperty().bind(selectionItemsVisible);
copyMenuItem.visibleProperty().bind(selectionItemsVisible);
saveSelectionMenuItem.visibleProperty().bind(selectionItemsVisible);
// ...
selectionItemsVisible.set(true);