コード例 #1
0
            public int Compare(Stop x, Stop y)
            {
                Point relativePosition1 = KeyboardNavigationTarget.GetTopBoundPosition(KeyboardNavigationTarget.GetAbsoluteBounds(x.Element)) - currentPosition;
                Point relativePosition2 = KeyboardNavigationTarget.GetTopBoundPosition(KeyboardNavigationTarget.GetAbsoluteBounds(y.Element)) - currentPosition;

                double distance1 = relativePosition1.Y < 0 ? -relativePosition1.GetLengthSqr() : relativePosition1.GetLengthSqr();
                double distance2 = relativePosition2.Y < 0 ? -relativePosition2.GetLengthSqr() : relativePosition2.GetLengthSqr();

                return(distance1.CompareTo(distance2));
            }
コード例 #2
0
 public TopBoundStopComparer(Stop currentStop)
 {
     currentPosition = KeyboardNavigationTarget.GetTopBoundPosition(KeyboardNavigationTarget.GetAbsoluteBounds(currentStop.Element));
 }