WPF - динамически перестроить иерархию управления

StackOverflow https://stackoverflow.com/questions/4522410

Вопрос

Как можно динамически заполнить контейнер? Скажем, чтобы заполнить большой круг маленькими кругами, рекурсивно. Просто заполните пространство нормально.

Я хотел бы использовать его для отображения иерархии данных.

Чтобы прояснить:

alt text

Это было полезно?

Решение

Если вы хотите что -то с полки, посмотрите на график#

http://graphsharp.codeplex.com/

Видео здесь:

Он выполняет динамический график и довольно прост в использовании. Существует выбор алгоритмов макета [см. Примеры примера] Каждый из которых настраивается.

Однако заполнение до тех пор, пока область не будет «полной», - это не то, что будет работать из коробки. Хотя вы можете, например, создать график, выложить его и затем измерить соотношение между размером вершины и размером всего графика, затем добавьте или удалите вершины, пока не нажмете желаемую плотность. Я хотел бы, чтобы вы могли бы довольно быстро, вы могли бы довольно быстро придумать быструю и грязную форуму между размером холста для заполнения и количеством вершин, которые вы должны добавить.

Обратите внимание, что вы можете легко настроить шаблоны вершин, чтобы быть любыми данными [это стандартный WPF, но конкретные примеры# можно найти на http://graphsharp.codeplex.com/discussions ]

Если вы хотите кодировать свой собственный макет, вы могли бы взглянуть на некоторые из методов Graph# Использование ... Например, динамический компонент зумса Источник, для которого доступен здесь: http://wpfextensions.codeplex.com/

Надеюсь, это немного поможет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top