Возможно ли иметь Flex DataTips на Canvas, а не на объектах Chart? - PullRequest
1 голос
/ 17 января 2010

Flex-диаграммы, как и AreaChart, имеют замечательную встроенную поддержку для отображения данных «подсказок», когда пользователь наводит курсор на точку, указанную в данных графика. Вы можете навести курсор мыши на любой из примеров гистограммы на этой странице для демонстрации.

У меня есть ситуация на графике, где я необязательно рисую некоторые точки в качестве опорных точек на CartesianDataCanvas, передаваемых моим AreaChart через теги <mx:annotationElements> и <mx:backgroundElements>. Я хотел бы иметь ту же функциональность всплывающей подсказки, что и у AreaChart, но применительно к этим точкам. Кто-нибудь знает, как этого добиться, или если это вообще возможно?

Я понимаю, что я просто рисую на холсте, и никакой фактический dataProvider не поддерживает эти точки, но если бы был способ снабдить CartesianDataCanvas массивом значений данных или чем-то подобным, это было бы здорово !

1 Ответ

1 голос
/ 17 января 2010

Увидев ваш другой пост, я предполагаю, что вы рисуете точки, используя cdc.graphics. В этом случае нелегко добавить к ним наведенный текст. Создайте класс, который расширяет UIComponent, переопределите метод updateDisplayList и выполните рисование внутри него. Теперь вы можете легко добавлять мышь над текстом, используя свойство dot.toolTip.

//Dot.as
package 
{
  public class Dot 
  {
    override protected function updateDisplayList(unscaledWidth:Number, 
        unscaledHeight:Number):void 
    {
      this.graphics.lineStyle(1);
      this.graphics.drawCircle(0, 0, 5);
    }
}

//... later:
var dot:Dot = new Dot();
dot.x = xValue;
dot.y = yValue;
dot.toolTip = "Hover Text";
cdc.addChild(dot);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...