私は、タスクをキャンバスに動的に追加できるシンプルなタスク/カレンダーツールを開発中です。ここでは、基本的にタスクを追加するためだけのキャンバスとボタンでMain.mxml、で定義されている主なアプリケーションです:MXMLクラスの子要素が表示されない
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Canvas id="MainCanvas" borderStyle="solid" width="300" height="300">
<mx:Button click="CreateTask();" label="create task" />
</mx:Canvas>
<mx:Script>
<![CDATA[
import Task;
private function CreateTask() : void
{
// create the task object
var thisTask:Task = new Task();
// add the task to the canvas
var taskUI : DisplayObject = MainCanvas.addChild(thisTask);
// position the task ui
taskUI.y = 50;
}
]]>
</mx:Script>
</mx:Application>
私は私の仕事は、ラベルとボタンでBorderContainersになりたい、ANに定義されています外部mxmlは、簡単にインスタンス化してMain.mxmlのキャンバスに追加することができます。
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:s="library://ns.adobe.com/flex/spark" cornerRadius="10">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<s:Label id="NameLabel" text="task name" />
<s:Button label="Button 1"/>
</s:BorderContainer>
問題は、私はキャンバスにタスクインスタンスを追加するとき、子供(ボタンとラベル)が表示されないということである。ここではTasks.mxmlです。私は、キャンバスとBorderContainerの両方でcreationPolicy = "all"を設定しようとしましたが、それでも動作しませんでした。私は、クラスが完全に読み込まれる前に、クラスのメンバーにアクセスする際に問題を抱えている人々についての記事をたくさん読んだが、BorderContainerの中にLabelとButtonが表示されているのが見たいだけだ。
ありがとうございました。
Sparkアプリケーションとグループではなく、mxアプリケーションとCanvasを使用する理由はありますか?あなたの問題の一部は、SparkではaddChildではなくaddElementを使用している可能性があると思います。私はmxとSparkのミックスとマッチングを避けようとしています。 – NoobsArePeople2