我有一个 UWP 应用程序,我在其中使用CustomMediaTransportControls。在这些控件中,我在命令栏PrimaryCommands中添加了一些额外的按钮,并IsDynamicOverflowEnabled=true
根据文档进行了设置,当屏幕尺寸不足以容纳所有按钮时,它应该自动将主要命令发送到溢出菜单。它应该根据MediaTransportControlsHelper.DropoutOrder
每个 appbarButton 上的属性将它们删除。
问题
当屏幕尺寸较小时,控件似乎按预期进入溢出菜单,但我无法访问或看到它们,因为“更多”按钮永远不可见,这很奇怪,因为我尝试设置OverflowButtonVisibility=visible
甚至尝试使用“自动”但该按钮从未显示在 UI 上。我知道主要命令会溢出的事实是因为我从命令栏的模板样式中明确地将更多按钮设置为可见,然后我在 UI 中看到它,但这并不理想,因为它即使在溢出中没有任何内容。所以我把它改回了以前的默认绑定值。
我还使用命令栏的重新模板样式,因为我想将主命令按钮的水平对齐设置为中心。
在第一张图片中,您可以看到所有控件都显示出来了
但是在这里,当我将窗口调整为更小的尺寸时,我看到的控件更少,但没有溢出菜单(更多)按钮。
另请注意,应用程序项目将创建者更新作为最低目标,因此 DynamicOverflow 应该可以工作,因为它是在周年更新中引入的。
更新 1
在下图中,您可以看到我在页面中添加了一个普通的命令栏,即使没有溢出按钮,它也会显示更多按钮。显然它是针对我猜的标签显示的。
在这里您可以看到,在调整大小时,更多按钮确实获得了额外的按钮。
所以问题是,为什么它不能与 MediaTransportControls 命令栏一起使用?我什至尝试了没有任何自定义样式的默认传输控件,只是使用 is..buttonvisible 启用了它上面的所有按钮,我也遇到了同样的错误。以及该功能在哪个阶段被阻止?以及如何覆盖行为?
使用 Live 属性资源管理器,我可以确认更多按钮的可见性设置为折叠,如果我在属性资源管理器中将其设置为可见,我可以看到该按钮,现在我不明白为什么它会折叠?即使我在我的 xaml 样式中将溢出按钮可见性设置为可见?