Обязательное обновление на этикетке - PullRequest
0 голосов
/ 09 ноября 2011

Я хотел бы связать переменную, которая при наличии изменений автоматически обновит метку.

var disp:String = "00:00:00";
var lb:Label = new Label();  //Add Label to an "ContentGroup" container.
lb.text = totalTime;
addElement(lb);

disp="00:00:01"; //New timing

BindingUtils.bindProperty(totalTime, "text", disp, "text");

Как мне это сделать?

1 Ответ

1 голос
/ 09 ноября 2011

Во-первых, я хочу уточнить ваш вопрос.Вы хотите связать метку lb с disp, а потом, когда disp изменить, lb.text изменить, верно?

  1. Почему бы не использовать MXML (который идеальносоответствует механизму связывания) вместо?

  2. Если вы действительно хотите использовать Actionscript, есть некоторые моменты, требующие вашего внимания.Во-первых, свойство "host" должно быть привязываемым (добавьте тег [Bindable] сверху).Затем BindingUtils.bindProperty должен напрямую связать два значения друг с другом.В этом случае смена следующего кода будет работать:

    [Bindable] public var disp: String = "00:00:00";
    
    private function initBinding(): void {
    
    var lb: Label = new Label();
    
    addElement( lb );
    
    BindingUtils.bindProperty( lb, "text", this, "disp" );
    
    }
    

Кстати, я всегда избегаю использования Binding, если это возможно.Обновление свойств вручную в простых случаях позволит сохранить как размер файла, так и производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...