Создание динамического элемента управления сеткой - PullRequest
0 голосов
/ 25 октября 2010


При работе в WPF мне нужна динамическая сетка.Под этим я подразумеваю сетку, которая содержит только один вид объекта, имеет шаблон для этого объекта и т. Д. Но в отличие от аналогичного ItemsControl, как Listbox, я хочу, чтобы сетке было присвоено свойство Maximum Columns.Это должно действовать как разделитель, который будет затем вычислять количество необходимых строк на основе количества объектов в сетке.Чтобы сделать это, я подумал о наследовании Grid, чтобы использовать его свойства Row и Column, но у меня есть проблема ... Я не знаю, как реализовать свойство ItemsSource вне наследования ItemsSource от ItemsControl ...

поэтому мой вопрос состоит из двух частей ...

  1. Правильно ли я преследую это?должен ли я наследовать ItemsControl и пытаться повторно реализовать поведение Grid
  2. , если это правильный способ сделать это, как мне реализовать свойство ItemsSource с соответствующим ему ItemTemplate

Ответы [ 2 ]

3 голосов
/ 25 октября 2010

Возможно, лучшим способом было бы использовать ListView?Вот пример того, как добиться вывода с 3 столбцами: http://kristofmattei.be/2010/03/16/multi-column-listview/

1 голос
/ 25 октября 2010

Хотите что-то вроде UniformGrid ? Если вы установите свойство Columns (и не установите свойство Rows), оно автоматически определит, сколько строк создать для хранения его элементов.

...