这是我想要实现的界面:
基本上,这是1级深层结构,文件夹和文件夹在文件夹中。
您看到的屏幕截图是我尝试使用ItemsControl
内的ListBox
和ItemsControl
进行此操作
我需要的东西:
现在按照我这样做的方式 - 多个ListBox因此专注于多个不好的元素。
我还不知道如何实现拖放。
我正在考虑TreeView
控制,但不确定它是如何起作用的。
我正在研究如何实现这种情况的指示。
答案 0 :(得分:0)
一个TreeView
,两个TreeViewItems
样式“FolderLevelStyle”和“FileLevelStyle”。从Blend中提取defaukt样式。
在“FolderLevelStyle”中,删除IsMouseOver
和IsSelected
属性的所有触发器。另外,将ItemContainerStyle
设置为“FileLevelStyle”。
这将为您提供第1点和第2点。
[in“FolderLevelStyle”]您还可以将IsExpanded
设置为True
并折叠控件模板中的ToggleButton
(包括删除影响该按钮的所有触发器) - 这不会允许用户“关闭”文件夹。
关于拖放,有几种方法可以解决这个问题。开始here。了解如何将其集成到MVVM架构中。我倾向于创建一个Behavior
(或附加行为),它将在文件项DataTemplate
的根面板上设置。