Flex: получение полосы прокрутки на пульте управления, я хочу, и только в видимой области
Flex полоса прокрутки дает мне очень трудное время. Я хочу точно контролировать, в каких ящиках они появляются, но после частых попыток случайных вещей мое лучшее решение (см. Ниже) кажется немного клочковым и ненадежным. Если я заставляю полосу прокрутки появляться, (* ScrollPolicy = "on"), полоса прокрутки отключается, поскольку она охватывает весь размер поля, даже если это выходит за пределы видимой области.
У меня есть эта коробка в верхней части страницы, которая бежит сбоку от этого экрана, и это нормально - пусть это бежит со стороны и не дает ей полосу прокрутки. Но у меня есть эта другая коробка, которая бежит сбоку, что тоже приемлемо, , но Я хочу, чтобы полосы прокрутки служили этому региону и только в этом регионе и Я хочу, чтобы эти полосы прокрутки появлялись в видимой области. То есть, я не хочу, чтобы перемещать горизонтальную полосу прокрутки, чтобы она позволяла мне видеть вертикальную полосу прокрутки.
Теперь лучший, что я мог бы сделать это следующим образом: я нашел родитель главной коробки вы видите в моей схеме (которая на самом деле пра-пра-дедушка), который никогда не становится больше, чем видимая область, который является mx:Canvas
. Затем я принудительно увеличиваю размер родителя ящика, содержащего мои вещи, до размера родителя mx:Canvas
, который затем вызывает появление полос прокрутки там, где я хочу. Итак, это что-то вроде:
<mx:Canvas id="main_canvas" width="100%" height="100%">
много других тегов, которые родители
<mx:Box width="100%" height="100%" maxHeight="{main_canvas.height}" maxWidth="{main_canvas.width}"> <!--box containing the box that should show scroll bars-->
<mx:Box width="100%" height="100%"> <!--box that should show scroll bars-->
остальные теги
Приведенные выше теги являются абстракцией, кстати. Из-за огромного количества экспериментов, которые я проводил, пытаясь получить полосы прокрутки, где я их хочу, существует очень высокая иерархия mx:*Box
es, mx:Canvas
es и даже mx:VDividedBox
.
Кажется, что это работает, но, вероятно, это излишне сложно, и у меня возникает ощущение, что клиенты найдут способ сделать это неудачным.
Я использую 3,5 SDK.
Спасибо, ребята, но у меня уже есть значок Tumbleweed :) Но если кто-то не в порядке с моим вопросом, я открыт для предложений. Я даже не стал бы вето редактировать. – Opux