現在選択されているツリー ノードに XML ノード構造を追加する方法があります。
これにより、xml が追加され、親ノードが開き、新しく追加されたノードが表示されます。
次に、ツリーの selectedItem を設定してノードを選択します。
ツリー変更イベントで値を更新する編集フォームがあります。このメソッドで selectedItem を設定すると、ノードは正しく選択されますが、変更イベントは発生しません (したがって、エディターは更新されません)。call laterブロックでそれを呼び出そうとしましたが、役に立ちませんでした。
この時点で、強制的にツリーに変更イベントをディスパッチさせる方法はありますか?
public function addSelected(node:XML):void{
tree_expandItem(false);
var selectedItem:XML = tree.selectedItem as XML;
selectedItem.appendChild(node);
tree_expandItem(true);
callLater(function():void { tree.selectedItem = node; } );
}
この質問を一般的な方法で拡張するには、ツリーの selectedItem を変更するととにかく変更イベントが発生すると思いましたか? それとも、変更はユーザーが行った場合にのみ変更と見なされますか?