バージョン

タブのドラッグおよび順序変更 (xamTabControl)

トピックの概要

目的

このトピックは、タブの順序を変更するためにタブのドラッグ機能を構成する方法を紹介します。

前提条件

本トピックの理解を深めるために、以下のトピックを参照することをお勧めします。

トピック 目的

このセクションでは、 xamTabControl の機能をより深く理解するのに役立つ情報を提供します。

このトピックの内容

このトピックは、以下のセクションで構成されます。

概要

ドラッグと並べ替えの概要

xamTabControl は、ユーザーがタブを新しい位置へドラッグして並べ替えることができます。この機能はデフォルトで無効化されています。以下の画像は、"References" と "Mailing" タブ間でページ レイアウト タブを新しい位置へ移動する処理を示します。

xamTabControl DnD.png

タブ ドラッグの構成の概要

タブ ドラッグの構成の概要

タブ ドラッグ機能は 2 つのタブ ドラッグ モードをサポートします。

  • Deferred – タブをドラッグ中に新しい位置がフローティング表示と 2 つの挿入矢印で示されます。

  • Immediate – タブをドラッグ中にすべてのタブ領域が常に並び替えられて新しいタブ位置を可視化します。

注:

Note

タブのドラッグ モードを Immediate に設定した場合、タブが複数行に描画される場合は Deferred に解決されます。

注:

Note

ItemsSource プロパティを読み取り専用コレクションに設定するとタブはドラッグできません。

タブ ドラッグの構成の概要表

以下の表は、 xamTabControl タブ ドラッグ機能の構成可能な要素を簡単に説明し、それらを構成するプロパティとイベントにマッピングします。

構成可能な項目 詳細 プロパティ/イベント

タグ ドラッグの有効化/無効化

タブ ドラッグを有効にするには、このプロパティの値を TabDragMode.None ではなく TabDragMode タイプに設定します。

ドラッグ モードの構成

このプロパティを TabDragMode.Deferred または TabDragMode.Immediate に設定します。

TabDragMode

ユーザーが特定のドラッグ操作を行った際に、これらのイベントを使用して通知を取得できます。

関連イベントの処理

概要

ユーザーがさまざまな操作を行ったときにハンドラーを以下のイベントにアタッチし、通知を取得できます。

プロパティ設定

以下の表は、ユーザー操作を発生したイベントへマッピングを示します。

目的: このイベントの使用: イベント引数オブジェクトの機能:

タブ ドラッグが開始されたときに通知を受け取る

TabDragStarted

  • ドラッグされた Tab を取得します。

  • 関連する Item を基本データソースから取得します。

タブ ドラッグ中の各マウス移動毎に通知を取得

TabDragging

  • ドラッグ イベントをキャンセルします。

  • 可能性のある DropTargetTab を取得します。

  • DropLocation を取得します (ドロップ ターゲット タブに相対)。

  • ドラッグされた Tab を取得します。

  • 関連する Item を基本データソースから取得します。

タブ ドラッグが完了したときに通知を受け取る

TabDragComplete

  • ドラッグされた Tab を取得します。

  • 関連する Item を基本データソースから取得します。

注:

Note

イベント引数オブジェクトの Item プロパティは、コントロールにバインドされた基本データ ソースの項目を含みます。タブを XAML で定義した場合、Item プロパティが null になります。

関連コンテンツ

トピック

このトピックに関連する追加情報については、以下のトピックを参照してください。

トピック 目的

このトピックは、タブを xamTabControl に追加する方法を説明します。

このトピックでは、xamTabControl でコンテンツをタブに追加する方法について説明します。

このトピックでは、xamTabControl でタブを閉じる方法について説明します。

このトピックは、タブ レイアウトを変更する方法と複数行を作成する方法について説明します。

このトピックは、TabItemEx オブジェクトの Closed イベントを処理して TabItemEx オブジェクトを xamTabControl から削除する方法について説明します。

このトピックでは、XAML とコードビハインドでタブを選択する方法について説明します。