Возможно ли иметь чисто иерархическую сетку данных wpf? Теперь есть 3 возможных решения по Интернету ...
- GroupStyle
- TreeListView вместо DataGrid
- RowDetailsTemplate
Теперь все 3 в моем случае бесполезны, поскольку у каждого из них есть ограничения.
GroupStyle
предоставляет сгруппированных презентаторов строк, но их родитель просто GroupItem
. Это где мой источник данных отличается. В моем случае родительский элемент сгруппированных элементов будет принадлежать к тому же типу элемента.
например. Folder
класс имеет List<Folders> children
. Таким образом, родительский элемент дочерних папок имеет тип Folder
.
RowDetailsTemplate
потребуется, чтобы я разместил другую сетку данных, связанную с Children
, но это означало бы, что он будет иметь свои собственные заголовки столбцов, и я хочу, чтобы дочерние элементы разделяли того же столбца представление родительской DataGrid, как в TreeListView
.
А для TreeListView
это то, что я сейчас использую, но его проблема в ...
Это теряет виртуализацию и это не сетка данных
: -)
Я думал, как какое-то связанное поведение, которое переключает представление иерархии для сетки данных, например ...
<DataGrid HierarchicalBehavior.HierarchyPath="Children" ... />
Где Children
- свойство типа IEnumerable
для каждого элемента.
Надеюсь, вы, ребята, понимаете, к чему я клоню.
Есть идеи?