У меня есть ListView в WPF, который изменяет размер моего окна целого приложения каждый раз, когда я добавляю объекты к нему. Мне связали размер ListView с сеткой, в которой это находится, который связывается с размером окна. Таким образом, когда пользователь изменяет размер окна, ListView растет. Проблема состоит в том, что, когда я добавляю объекты к ListView, он автоматически простирается, чтобы попытаться соответствовать новому содержанию, которое в свою очередь расширяет размер всего окна.
Там должен так или иначе предотвратить это поведение?
Вы хотите установить свойство VerticalAlignment
в 'Stretch
'. Если необходимо, в родительском элементе управления тоже, и так далее, пока не окажетесь в элементе управления Window.
Оговорка заключается в том, что если один из элементов управления на пути вверх является StackPanel
, он не будет растягиваться, а ВСЕГДА будет расширяться, чтобы вместить свое содержимое. Поэтому держитесь подальше от StackPanels
, используйте Stretch
, и все готово!
Удалите также ваши привязки, они, скорее всего, двухсторонние: Таким образом, просмотр списка, увеличивая свой размер, заставляет ваше окно расти!
Надеюсь, это поможет!
Вы можете установить свойство MaxHeight
для своего ListView
в своем xaml, не так ли?