связывание разных наборов в списке - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть элемент списка с табличкой данных, которая имеет несколько компонентов внутри панели стека.Теперь я хочу равномерно разделить размер строк списка по количеству элементов в списке (в зависимости от количества строк), поэтому, если в списке только 2 элемента, высота каждого из 2 элементов списка будет(800/2), если 3 (800/3) и т. Д. (Есть предел, при котором размер строки будет оставаться постоянным)

Моя проблема заключается в том, как мне связать эту вычисленную высоту с контейнером (стека)из списка?так как я установил свойство listitems itemsource и «контейнер» находится внутри списка?

1 Ответ

0 голосов
/ 10 февраля 2012

Я бы попытался решить эту проблему: создать ValueConverter, который смотрит на количество элементов в вашем List<T> и выполняет математические расчеты, чтобы вычислить, насколько высокими должны быть отдельные элементы StackPanel. Затем он вернул бы это значение как int.

Чтобы собрать все воедино, в своем XAML вы должны связать свое свойство StackPanel.Height со свойством Count в вашем List<T>, указав ValueConverter в качестве конвертера свойства.

DataContext может быть немного сложнее, когда вы пытаетесь получить доступ к свойству Count, так как StackPanel будет иметь DataContext, установленный для отдельного элемента списка. Но вы, вероятно, можете обойти это, добавив свойство Count к каждому элементу в вашем списке.

Вот хороший пост] (http://www.jeff.wilcox.name/2008/07/visibility-type-converter/) о ValueConverter. Он охватывает преобразование свойства bool в Visibility, но концепции те же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...