【问题标题】:WP8.1 Appbar HideCommands IssueWP8.1 Appbar HideCommands 问题
【发布时间】:2015-01-11 11:54:32
【问题描述】:

我正在使用 WinJS 和 Visual Studio 中的导航模板编写一个 WP8.1 应用程序。我的应用程序中有一个 appbar,当我导航到不同的页面时,我使用 hideCommands/showCommands 使用适合页面的命令自定义 appbar。问题是要隐藏的命令在显示命令之前并未完全隐藏。这会创建要隐藏的按钮的瞬间闪烁。

 var commands = [appbar.winControl.getCommandById("commandA"), appbar.winControl.getCommandById("commandB"), appbar.winControl.getCommandById("commandC")];
 appbar.winControl.hideCommands(commands);
 appbar.winControl.showCommands("commandD");

任何帮助将不胜感激。

【问题讨论】:

  • 你不应该每页有一个单独的命令栏吗?如果您禁用甚至隐藏命令栏,然后添加/删除菜单项,然后再次启用并显示命令栏,会发生什么情况?
  • 感谢您的建议,但不幸的是,当我向每个页面添加一个应用栏时,它在页面上不可见。
  • 隐藏应用栏,添加/删除按钮然后显示没有效果。不应该显示的按钮在隐藏之前会显示一会儿。

标签: windows-phone-8 winjs appbar


【解决方案1】:

同样的事情发生在我身上。我曾经认为只有一个 AppBar 比为每个页面创建一个要好,所以我采用了与您使用 showOnlyCommands 相同的方法。这在 Windows 8 (& 8.1) 上运行良好,但在 WinPhone 8.1 中绝对不能正常运行

所以我最终做的是在需要 AppBar 的每个页面中都有我的 AppBar 标记。

<div data-win-control="WinJS.UI.AppBar"></div>

我确实有一些代码可以使用 showOnlyCommands 方法显示/隐藏来自 AppBars 的命令,该方法从那以后一直没有问题。

一个建议showOnlyCommands 可以接收逗号 ID(作为字符串)或 AppBarCommands 本身的数组。我发现后者按预期工作。 ID 有点问题

【讨论】:

  • 感谢您的建议,但不幸的是,当我向每个页面添加一个应用栏时,它在页面上不可见。
  • 这应该与另一个问题(?)有关,该方法就像一个魅力。愿意分享一些代码吗?
  • 部分>
  • 我添加了按钮,但它仍然没有出现。我可以在我的第一页上显示一个应用栏,但是当我导航到另一个页面时,该页面的应用栏似乎被隐藏了,当导航回第一页时,可见的应用栏现在也被隐藏了。
猜你喜欢
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 2011-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多