Can we change the way of rendre the events

Nov 18, 2011 at 1:34 PM

I have spent many time on the code of TimelineLibrary. In the Class TimelineBuilder. I found that we have to invoke the method RefreshEvents each time when we drag the TimelineBand, But if we have many events, this manner will cause a big problem of performace.

Inversly, I want to add a new Canvas in the CanvasPart and change the width actuel of this new canvas to adapter the max DateTime and min DateTime defined in the TimelineTray. Then I could add all events in this new canvas by SetValue(Canvas.LeftProperty, distance). In this way, we can change the position of events by directly change the LeftProperty of the new added canvas relative to the CanvasPart. But I don't know if it will also cause the problem of performance and I am waiting for your answer. Thank you.

Nov 23, 2011 at 6:35 PM

It is indeed the only way right now to call refresh events. It should not be a performance problem unless you have more then 5000 events. If you do, you need to setup control in more specific way, say you know what is visible window, so call ResetEvents with just portion of your events, or aggregate events (say this event represents many events, and so on).

Please explain your use case in more details and I will suggest something more specific or will open a work item. BTW, if you feel like you can work with control source code and make contribution, this is also possible.

Nov 23, 2011 at 6:59 PM

Thank you for your replay, I have tried the latest version of the timeline and It works fin right now.