WPF - динамически перестраивать иерархию управления - PullRequest
3 голосов
/ 23 декабря 2010

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

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

Чтобы было понятно:

alt text

1 Ответ

1 голос
/ 24 декабря 2010

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

http://graphsharp.codeplex.com/

видео здесь:

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

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

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

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

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

...