次の方法で共有


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"/>

イベントの種類

注釈

イベント データについては、「 DynamicOverflowItemsChangingEventArgs」を参照してください。

Windows 10 バージョン 1607 以降、CommandBar には動的オーバーフロー機能が導入されています。 既定では、 PrimaryCommands は、ユーザーがアプリ ウィンドウのサイズを変更した場合など、コマンド バーの幅が変わるとオーバーフロー領域に自動的に移動します。 この動作を無効にするには、 IsDynamicOverflowEnabled プロパティを false に設定できます。

動的オーバーフローは、コマンドの UI プレゼンテーションにのみ影響します。 PrimaryCommands コレクションから SecondaryCommands にコマンドを移動しません。

バージョンの互換性

IsDynamicOverflowEnabled イベントは、バージョン 1607 Windows 10より前は使用できません。 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;
    }
}

適用対象

こちらもご覧ください