5

TabControlユーザーが次のようなドキュメントを管理できるようにするがあります。

ここに画像の説明を入力してください

ある時点で、ユーザーがTabItemsをフロートさせて、VisualStudioで実行できることとほぼ同じようにドッキングできる機能を追加したいと思いTabControlます。この機能により、ユーザーはドキュメントをより簡単に比較したり、ドキュメント間でコピー/貼り付けしたりすることができます。

これを行う方法について、いくつかの一般的なアイデアがあります。はTabControlItemsSourceドキュメントビューモデルのリストにバインドされています。

タブをフロートさせるには:

  1. Thumbのタブストリップ領域にコントロールを追加しますTabItem
  2. ユーザーがをドラッグするThumbと、関連するドキュメントビューモデルがTabControlリストから削除されます。
  3. Windowそのドキュメントを表示/編集するために、ドキュメントビューモデルにバインドされた別のドキュメントが表示されます。

タブをドッキングするには:

  1. DragOverにイベントハンドラーを追加して、タブストリップ領域上をドラッグしてTabControlいるドキュメントを認識します。Window
  2. 関連するドキュメントビューモデルがTabControlリストに追加されます。
  3. ドキュメントWindowは閉じられています。

これを行う方法の例はありますか、それともこれを行うためのアプローチがありますか?

ありがとう。

4

2 に答える 2

2

既存のコントロールが見つからない、または使用したくない場合は、データバインドされたコントロール間のドラッグ アンド ドロップに関する Bea Stollnitz の記事を強くお勧めします。データバインドされたオブジェクトがDockPanel何を使用する必要があるかを特定するには、おそらく少し変更する必要がありますが、過去にコードを簡単に変更できることがわかりました。DockPanel.Dock

TabControl次に、となどの 2 つのデータバインドされたコントロールを設定しDockPanel、2 つの間でドラッグ/ドロップすると、実際にはデータバインドされたアイテムを 間でドラッグ/ドロップしItemsSourcesます。

于 2012-02-29T17:27:11.023 に答える