0

これが私が達成したいインターフェースです:

ここに画像の説明を入力

基本的に、これはフォルダーとフォルダー内のファイルを含む 1 レベルの深さの構造です。あなたが見るスクリーンショットは、これを使っItemsControlListBox内部で行う私の試みですItemsControl

必要なもの:

  1. フォルダは選択できません。相互作用はなく、表示するだけです。
  2. 一度に「選択」できるファイルは 1 つだけです
  3. あるフォルダから別のフォルダにファイルをドラッグ アンド ドロップできます
  4. MVVMで行われるすべて

現在、私がやっている方法では、複数の ListBoxes が複数の要素に焦点を合わせているため、これは悪いことです。

ドラッグ/ドロップを実現する方法はまだわかりません。

制御を考えてTreeViewいますが、どのように機能するかわかりません。

このシナリオを達成する方法についての指針を見ています。

4

1 に答える 1

0

1 つTreeView、2 つのTreeViewItemsスタイル「FolderLevelStyle」と「FileLevelStyle」。両方の Blend からデフォルト スタイルを抽出します。

「FolderLevelStyle」で、IsMouseOverおよびIsSelectedプロパティのすべてのトリガーを削除します。また、ItemContainerStyle「FileLevelStyle」に設定します。

これにより、ポイント1と2が得られます。

[in "FolderLevelStyle"] コントロール テンプレートを設定IsExpandedTrueて折りたたむこともできToggleButtonます (そのボタンに影響を与えるすべてのトリガーの削除を含む) - これにより、ユーザーはフォルダーを「閉じる」ことができなくなります。

ドラッグ アンド ドロップに関しては、これにはいくつかのアプローチがあります。ここから始めてください。MVVM スキーマに統合する方法をご覧ください。ファイルアイテムBehaviorのルートパネルに設定される(または添付された動作)を作成することに引き寄せられます。DataTemplate

于 2012-05-08T19:40:19.697 に答える