2013-04-12 2 views
0

У меня есть один класс, который описывает интерфейс в mxml и другой, который содержит логику как.Редактировать код mxml из другого класса в actionscript в Flex

Есть ли способ, как изменить интерфейс с помощью изменения mxml на основе значения некоторой переменной в моем классе actionscript?

Туза класс выглядит следующим образом:

public class SomeDialog extends MyDialog 
{ 
public function SomeDialog(noteToTask:Boolean=false) 
{ 
    this.noteToTask=noteToTask; 
    resizable = false; 
} 

    // WHEN noteToCase is true, add to mxml some component, ie a button 
private var noteToCase:Boolean; 

override protected function createView():MyDialog 
{ 
    var view:SomeDialogView = new SomeDialogView(); 
    return view; 
} 
} 
+1

Используйте [states] (http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf63611-7ff1.html) – RIAstar

ответ

1

первое, простое решение: сделать noteToCase публичного статического Bindable (если он может быть статическим), и связать видимость и т.д. в MXML.

Во-вторых, очиститель: создайте viewmodel для вашего mxml, либо в виде, либо в скрипте, в viewmodel, который вы можете использовать addElement и т. Д. На вашем mxml, и вызовите viewModel при изменении noteToCase и т. Д. Через сеттер.

Смежные вопросы