2010-10-25 2 views
0


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

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

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

ответ

1

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

+0

Ваш ответ и Влад оба похожи на то, что они используют разные реализации UniformGrid. Я попробую их обоих, но спасибо! Я не знал об этом контроле. – TerrorAustralis

+0

UniformGrid, похоже, не предлагает таких функций, как ItemsSource. – Vlad

+0

Именно по этой причине я дал вам галочку :) UniformGrid используется в обоих случаях и поставляет большинство функций, которые я хочу, но смешение с помощью Listbox предоставляет всю необходимую мне функциональность. – TerrorAustralis

Смежные вопросы