2010-12-29 7 views
0

나를 용서해주십시오. 저는 Flash Builder 4와 Actionscript 3 (실제로는 매우 단순한 것 이상으로 프로그래밍 전체에 대해)이 처음입니다. 나는 많은 튜토리얼을 보거나 읽었지만 프로젝트를 시작했지만 지금은 벽을 치는 것 같다. 그 대답은 간단 할 지 모르지만 나를 암시하는 것처럼 보입니다.동적으로 생성 된 컨테이너 제어

동적으로 생성 한 시각적 요소 (예 : BorderContainer 's)를 제어하려면 어떻게해야합니까?

마찬가지로, 나는 BorderContainer와 DataGrid를 포함하는 응용 프로그램을 가지고 있습니다. 런타임시 X & Y 좌표와 높이 및 너비 값을 포함하는 XML 데이터를 기반으로 3 개의 새로운 BorderContainers (드래그 가능하고 크기 조정 가능)가 작성된 다음 기존 BorderContainer에 추가됩니다. 이러한 자식 BorderContainers의 속성을 표시하고 DataGrid에서 (이동/크기 조정 등) 최신 상태로 유지하려면 어떻게해야합니까?

향후 내 의도는 이러한 항목의 요약을 별도의 영역에 표시하는 (Photoshop "레이어"컨트롤이라고 생각하지만 훨씬 단순함) 사용자 정의 구성 요소를 사용하는 것이지만 무엇이 더 좋은지에 대한 이해를 원합니다. 처음부터.

모든 입력, 문서, 예제 등은 모두 높이 평가됩니다. 다시 말하지만, 매우 쉬운 해결책이 될 수있는 것에 대해 사과드립니다. 또는 제 언어가 명확하지 않은 경우, 저는이 문제에 익숙하지 않습니다.^_ ^;

답변

1

다양한 속성이 설정된 BorderContainers의 ArrayCollection을 만들 것입니다 (또한 부모 BorderContainer에서 addElement를 호출해야합니다).ArrayCollection이 Bindable로 선언되었는지 확인한 다음 DataGrid의 dataProvider로 설정하십시오. 그런 다음 표시 할 속성 (높이, 너비 등)에 따라 DataGrid의 열을 지정합니다. 이제 BorderContainers의 속성이 변경 될 때마다 DataGrid가 자동으로 업데이트됩니다.

+0

감사합니다 웨이드. 나는 당신이 말한대로 해왔고 DataGrid에 더 많은 버그가 추가되었지만 진행 방법에 대한 약간의 혼란을 추가했지만 문제를 해결하고 더 많은 작업을 할 수있었습니다. 학습 경험을 계속하십시오! 감사! – Rejected

0

순수 AS3 프로젝트를 가정 할 때 가장 좋은 방법은 개체 사전을 만드는 것입니다.

구성 요소에 대한 식별자를 만들었거나 런타임에 쉽게 만들 수 있다고 가정 해 보겠습니다.

var containers:Dictionary = new Dictionary(); 

private function _init():void 
{ 
    //some loop to create objects 
    containers[newObject.name] = newObject; 
} 

나중에 컨테이너 사전에서 해시 된 인덱스 만 잡으면 바로 액세스 할 수 있습니다.

자, Flex 프로젝트를 가정, 우리는 몇 가지 더 접근 방식이 우리가 취할 수

  • DisplayObjectContainer와는 사용해, getChildByName()를 구현
  • 그룹 getElementAt을 구현하고, numElements 개의이 반복 이름을 확인하고 반환하는 기대되는 가치.

개인적으로, 나는 아직도 사전 접근 방식을 선호하는 ... 최신 물건을 유지으로

, 당신은 (일반적으로 플렉스 전용 솔루션) 바인딩으로 볼 수 이상의 적절하게 이벤트를 파견 조사 :

  • Event.RESIZE
  • Event.MOVE

핸들러에서 UI를 업데이트하십시오!

HTH, 그렇지 않으면 더 많은 정보를 게시하고 우리가 알아낼 수있는 것을 볼 것입니다.

+0

내가 이미 다루고있는 또 다른 ArrayCollection의 간단한 구현 이었기 때문에 Wade Mueller의 해결책과 함께이 문제를 해결했습니다. 그러나 사전에 소개해 주신 것에 대해 고맙게 생각하고 싶습니다. 감사! – Rejected

관련 문제