2008-12-17 28 views
14

Khi tôi đặt một thành phần để có thể nhìn thấy = false các thành phần da, nhưng làm thế nào để có được nó để có không gian (lấy container nó thuộc về để thay đổi kích thước ??)Flex: khi ẩn các thành phần trong flex

<mx:HBox width="100%" height="100%"> 
... 
</mx:HBox> 

<mx:HBox width="100%" id="boxAddComment" visible="false" > 
    <mx:TextArea id="txtComment"/> 
    <mx:Button label="Spara" click="addComment();"/> 
</mx:HBox> 

Khi boxAddComment có thể nhìn thấy = false tôi muốn HBox đầu tiên phải giành lấy 100% chiều cao.

Trả lời

32

sử dụng thuộc tính includeInLayout. ví dụ.

 

<mx:HBox width="100%" height="100%"> 
... 
</mx:HBox> 

<mx:HBox width="100%" id="boxAddComment" visible="false" includeInLayout="false" > 
    <mx:TextArea id="txtComment"/> 
    <mx:Button label="Spara" click="addComment();"/> 
</mx:HBox> 

 
14

Sử dụng includeInLayout ="true" hoặc "false" sẽ chuyển đổi không gian mà phải mất trong dòng chảy của các mặt hàng được trả lại trong phần đó.

Lưu ý quan trọng: Nếu bạn không chỉ định visible="false" khi sử dụng includeInLayout = "false" sau đó bạn thường sẽ nhận được cái gì đó là không mong muốn mà là sản phẩm của bạn (boxAddComment) vẫn còn hiển thị trên trang nhưng công cụ dưới đây id="boxAddComment" sẽ chồng chéo lên nhau nó trực quan . Vì vậy, nói chung, bạn có thể muốn "includeInLayout" và "visible" để được đồng bộ hóa.

+14

Đây có thể là cách hay để giữ hai giá trị đồng bộ: '' –

1

Đề xuất của Ross Henderson về ràng buộc bao gồmInLayout with boxThêm bình luận.hoạt động hoạt động tốt với Flex 3.0 nhưng tôi thấy rằng nó không hoạt động trong Flex 3.6 (Tôi thấy một bài đăng thực sự ngừng hoạt động từ Flex 3.3).

Chỉ cần fyi.

+0

Hoạt động tốt trong 4.1 – iskuhar