|
StackPanel\ScrollViewer\Canvas, проблема, схлопывается
|
|||
---|---|---|---|
#18+
Уважаемые форумчане, прошу сильно не ругаться, если вопрос простой. В WPF я относительный новичок. Требуется сделать следующую конструкцию: Код: plaintext 1. 2. 3.
При этом ScrollViewer.ActuaHeight схлопывается в ноль. VerticalAlignment=Stretch не помогает. установив MinHeight больше нуля, работает, но высота устанавливается в минимум. Если убрать один из элементов, вот так: Код: plaintext 1.
либо так: Код: plaintext 1.
- тогда все работает, как ожидается, ничего не схлопывается. Почему же ScrollViewer схлопывается в ноль? Кусок XAML полностью: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2012, 18:03 |
|
StackPanel\ScrollViewer\Canvas, проблема, схлопывается
|
|||
---|---|---|---|
#18+
Нет никакого смысла в подобной конструкции, тк StackPanel уже содержит ScrollViewer и она равнозначна <ScrollViewer> <ScrollViewer> <Canvas> Масло масляное. StackPanel с вертикальной ориентацией не ограничивает высоту содержимого, ее высота зависит от размеров item'ов, а не наоборот как ты пытешься сделать. Изначально ее высота равна нулю, а посему все и схлопывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2012, 12:08 |
|
StackPanel\ScrollViewer\Canvas, проблема, схлопывается
|
|||
---|---|---|---|
#18+
SeVa, Прошу прощения, тогда я не понимаю. Canvas, который внутри, у меня может быть довольно большим и должен уметь скроллится по вертикали и горизонтали. Типа картинки в граф. редакторе при большом увеличении. Непонятка 1: Если я делаю без ScrollViewer-а, то скроллбаров у меня нет. Как их тогда обеспечить? Непонятка 2. Внешнее окно может быть небольшим. Если, как вы говорите, размер StackPanel сам зависит от итемов, тогда вопрос - (непонятка 2.1) почему конструкция <StackPanel><Canvas> - даёт канвасу развернуться по вертикали в размер StackPanel и (непонятка 2.2) Размер StackPanel у меня же не меняется при изменении размера канваса(при <StackPanel><Canvas>). P.S. если надо, могу сделать и выложить скриншоты, но, вроде, вы уже и так поняли. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2012, 12:28 |
|
StackPanel\ScrollViewer\Canvas, проблема, схлопывается
|
|||
---|---|---|---|
#18+
Проблему решил. Вместо stackpanel надо так: [XML]<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="*"></RowDefinition> </Grid.RowDefinitions>[/XML] Тулбар сверху, в секции "*" размещается ScrollViewer с канвасом. Всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2012, 14:26 |
|
|
start [/forum/topic.php?fid=21&fpage=42&tid=1441887]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 321ms |
total: | 453ms |
0 / 0 |