Mam listbox zdefiniowane tak:WPF: WrapPanel w ItemsPanelTemplate rozszerza szerokość lista
<ListBox.ItemTemplate>
<DataTemplate>
<ItemsControl>
<!-- Contents here -->
</ItemsControl>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Mój problem jest taki: Lista ta jest zawarta w kontroli sieci i powinien wykorzystywać całą dostępną przestrzeń tej komórki, ale nie powinien zmuszać rodzica do przydzielenia WIĘCEJ przestrzeni. Ale dzieje się tak, że gdy wypełni się panel zawijania, zamiast faktycznie owijać elementy do następnej linii (tak jak powinien), po prostu rozszerza szerokość listbox, a w procesie wymusza również zmianę siatki rodzica.
W jaki sposób mogę uzyskać, aby panel zawijania był zgodny z rozmiarem rodzica i nie zmuszał go do powiększania rozmiaru?
Z góry dziękuję!
edytuj: Jeszcze jedno. Mogę jawnie ustawić szerokość wrappanel, aby go zawijać, ale chciałbym, aby wrappanel miał taki sam rozmiar jak listbox.
Niestety to nie działało ... Próbowałem ustawić go na Hidden and Disabled, i nadal rozszerza przestrzeń, której używa. :( Zauważ, że problemem nigdy nie było to, że listbox stał się większy niż siatka, w której był (tak, że pokazywałby pasek przewijania), problem polega na tym, że komórka siatki, w której się znajduje, jest powiększona, a listbox z nią jest. – Hallgeir
Oh, jeszcze jedna rzecz, siatka zawarta jest w uniformgrid, może to być problem? Może uniformgrid nie zawiera siatki iz tego powodu się rozwija – Hallgeir
W swoim pytaniu wspomniałeś o wrappanelu, a nie o uniformgrid Mój kod naprawia twój problem wyjaśniono to w twoim pytaniu dotyczącym wrappaneli, jeśli masz problem z uniformgrid jako itemspanel w listach, powinieneś napisać kolejne pytanie: –