I have both a VerticalLineAnnotation and LineAnnotation. When I drag my VerticalLineAnnotation around, the onAnnotationPositionChanged event is fired. The partial stack trace is attached. Once the Make Visible method is called, it goes through until it affects the LineAnnotation’s visiblity property that it has no direct binding too. If I change the visibility property that the LineAnnotation’s visibility is bound to, then moving the VerticalLineAnnotation changes that new property.
Why is this happening?
Please see this related FAQ:
The AnnotationBase class uses Visibility internally to bring the annotation out of the Visual Tree in a performant manner
(we found that removing/adding an annotation to a canvas was an expensive operation, so far quicker to hide it
using Visibility.Collapsed when the Annotation was outside of the viewport, for instance),
allowing us to achieve fast virtualisation of annotations.
So, we realise its counter intuitive but there was a good reason to making the API this way.
To allow you to data bind to annotation visibility, we added the Annotation.IsHidden property
Please login first to submit.