CommandBar.DynamicOverflowItemsChanging 事件

定义

当项移入或移出溢出菜单时发生。

// Register
event_token DynamicOverflowItemsChanging(TypedEventHandler<CommandBar, DynamicOverflowItemsChangingEventArgs const&> const& handler) const;

// Revoke with event_token
void DynamicOverflowItemsChanging(event_token const* cookie) const;

// Revoke with event_revoker
CommandBar::DynamicOverflowItemsChanging_revoker DynamicOverflowItemsChanging(auto_revoke_t, TypedEventHandler<CommandBar, DynamicOverflowItemsChangingEventArgs const&> const& handler) const;
public event TypedEventHandler<CommandBar,DynamicOverflowItemsChangingEventArgs> DynamicOverflowItemsChanging;
function onDynamicOverflowItemsChanging(eventArgs) { /* Your code */ }
commandBar.addEventListener("dynamicoverflowitemschanging", onDynamicOverflowItemsChanging);
commandBar.removeEventListener("dynamicoverflowitemschanging", onDynamicOverflowItemsChanging);
- or -
commandBar.ondynamicoverflowitemschanging = onDynamicOverflowItemsChanging;
Public Custom Event DynamicOverflowItemsChanging As TypedEventHandler(Of CommandBar, DynamicOverflowItemsChangingEventArgs) 
<CommandBar DynamicOverflowItemsChanging="eventhandler"/>

事件类型

Windows 要求

设备系列
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)

注解

有关事件数据,请参阅 DynamicOverflowItemsChangingEventArgs

从 Windows 10 版本 1607 开始,CommandBar 引入了动态溢出功能。 默认情况下,随着命令栏宽度的变化, PrimaryCommand 自动 移入或移出溢出区域,例如,当用户调整其应用窗口的大小时。 可以将 IsDynamicOverflowEnabled 属性设置为 false 以禁用此行为。

动态溢出仅影响命令的 UI 呈现,它不会将命令从 PrimaryCommands 集合移动到 SecondaryCommands

版本兼容性

IsDynamicOverflowEnabled 事件在 Windows 10 版本 1607 之前不可用。 如果你的应用在 Microsoft Visual Studio 中的“最低平台版本”设置小于本页稍后的“要求”块中显示的“引入版本”,则必须设计和测试应用以考虑到这一点。 有关详细信息,请参阅 版本自适应代码

注意

为 Windows 10 版本 1607 编译应用并在版本 1607 (或更高版本) 上运行时,可以使用动态溢出。 当应用针对以前的版本进行编译或在以前版本上运行时,动态溢出不可用。

若要避免应用在以前版本的 Windows 10 上运行时出现异常,请勿在未首先执行运行时检查的情况下连接此事件。 此示例演示如何使用 ApiInformation 类在使用此事件之前检查此事件的存在。

<CommandBar x:Name="commandBar1" Loaded="CommandBar_Loaded">
    ...
</CommandBar>
private void CommandBar_Loaded(object sender, RoutedEventArgs e)
{
    if (ApiInformation.IsEventPresent("Windows.UI.Xaml.Controls.CommandBar", "DynamicOverflowItemsChanging"))
    {
        commandBar1.DynamicOverflowItemsChanging += CommandBar1_DynamicOverflowItemsChanging;
    }
}

适用于

另请参阅