Интеллектуальное расположение сетки wpf - PullRequest
1 голос
/ 09 ноября 2011

В настоящее время я работаю над проектом, который содержит окно, в котором необходимо отображать от 1 до 9 пользовательских элементов управления.

Я ищу лучший способ убедиться, что используется все доступное пространство.по количеству выбранных пользовательских элементов управления.

например, если выбрано 9 элементов, отображается сетка 3 x 3.Однако, если выбрано 8, то 2 строки по 3 будут показаны рядом со строкой 2 ниже.(с использованием colspan).

Я пытался использовать равномерную сетку, так как похоже, что большая часть желаемого поведения уже существует.(отображает элементы в упорядоченном порядке, автоматически изменяет размер до размера окна).Однако я изо всех сил пытаюсь реализовать некоторую форму интеллекта, когда число выбранных элементов не делится на 3!

Кто-нибудь сталкивался с этой проблемой раньше?Или можете предложить подходящий способ решения проблемы?

Спасибо !!

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Попробуйте использовать WrapPanel и установите Width каждого объекта на 1/3 размера панели обтекания.

Это автоматически переместит элементы в новую строку, когда первая строка заполнится

0 голосов
/ 09 ноября 2011

Палка с равномерной сеткой.Поскольку кажется, что вам нужно 3 столбца, независимо от количества отображаемых элементов управления, вам просто нужно использовать:

<UniformGrid Columns="3" />

И он будет выполнять то, о чем вы просили - если у вас есть 8 элементов управления,Вы получите 2x3 + 2 дополнительно ниже.

...