обновился до Flex 3.4 и попробовал 3.5 PopupManager.centerPopup не работает? - PullRequest
1 голос
/ 14 января 2010

Как я могу центрировать всплывающее окно в Flex 3.4 +?

В Flex 3.1 я мог центрировать всплывающее окно над его родителем, установив его родителя в createPopup, а затем используя centerPopup. В Flex 3.4 и 3.5 окно появляется с его левым верхним углом, совпадающим с верхним левым углом его родителя ... даже после centerPopup.

Есть ли обходной путь? или я не использую centerPopup как положено?

1 Ответ

0 голосов
/ 14 января 2010

сейчас я использую следующую функцию, прикрепленную к моему статическому классу WindowUtils:

  // work-around for broken PopupManger.centerPopup in Flex 3.4 and 3.5
  public static function centerPopup(popup: UIComponent, centerOn: UIComponent): void
  {
     var pt:Point = new Point(0, 0);
     pt = centerOn.localToGlobal(pt); // Convert local 0,0 into global coordinate
     pt = popup.globalToLocal(pt); // Convert the result into local coordinate of myPop
     popup.move(Math.round((centerOn.width - popup.width) / 2) + pt.x,
      Math.round((centerOn.height - popup.height) / 2) + pt.y);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...