如何限制菜单上显示的页面列表?

How do I limit the list of pages shown on a menu?

我已经按照 "Starter App" 中的示例进行操作。菜单显示我的所有页面。但是,我只想显示某些页面。该示例使用@pages._values作为数据源,但我不希望所有页面都显示在菜单中(某些页面仅在特定情况下可用或从其他页面调用)。

如何将菜单数据源限制为我想要的页面?

按照 "Starter App" 模板,首先 select "Menu" PageFragment 然后 select MenuListRow 小部件:

然后展开 Display 属性并单击 "visible"。接下来,单击 "binding"。

现在,我们将使用一个数组来确定我们要限制的页面是什么。在此示例中,我使用的数组是 ["Admin", "TestOne"],我们将使用 indexOf 方法来匹配列表行小部件内的标签包含的页面名称。该值看起来像这样 ["Admin", "TestOne"].indexOf(@widget.descendants.MenuItem.text) !== -1

现在只需单击 "Ok",然后预览应用程序。结果如下:

请注意,在示例中我有 6 个页面,但只显示数组中的两个页面。我希望这是有帮助的。如果您需要进一步说明,请告诉我。