C# Class ZoomAndPan.ZoomAndPanControl

A class that wraps up zooming and panning of it's content.
Afficher le fichier Open project: Zoomicon/ZUI Class Usage Examples

Méthodes publiques

Свойство Type Description
AnimationDurationProperty DependencyProperty
ContentOffsetXProperty DependencyProperty
ContentOffsetYProperty DependencyProperty
ContentScalableProperty DependencyProperty
ContentScaleProperty DependencyProperty
ContentViewportHeightProperty DependencyProperty
ContentViewportWidthProperty DependencyProperty
ContentZoomFocusXProperty DependencyProperty
ContentZoomFocusYProperty DependencyProperty
IsMouseWheelScrollingEnabledProperty DependencyProperty
MaxContentScaleProperty DependencyProperty
MinContentScaleProperty DependencyProperty
ViewportZoomFocusXProperty DependencyProperty
ViewportZoomFocusYProperty DependencyProperty

Méthodes publiques

Méthode Description
AnimatedScaleToFit ( ) : void

Do animation that scales the content so that it fits completely in the control.

AnimatedSnapTo ( Point contentPoint ) : void

Use animation to center the view on the specified point (in content coordinates).

AnimatedZoomAboutPoint ( double newContentScale, Point contentZoomFocus ) : void

Zoom in/out centered on the specified point (in content coordinates). The focus point is kept locked to it's on screen position (ala google maps).

AnimatedZoomTo ( Rect contentRect ) : void

Do an animated zoom to the specified rectangle (in content coordinates).

AnimatedZoomTo ( double contentScale ) : void

Zoom in/out centered on the viewport center.

AnimatedZoomTo ( double newScale, Rect contentRect ) : void

Do an animated zoom to view a specific scale and rectangle (in content coordinates).

AnimatedZoomToFit ( ) : void

Do animation that scales the content so that it fits completely in the control.

ElementToLogicalPoint ( Point elementPoint ) : Point
LineDown ( ) : void

Shift the content offset one line down.

LineLeft ( ) : void

Shift the content offset one line left.

LineRight ( ) : void

Shift the content offset one line right.

LineUp ( ) : void

Shift the content offset one line up.

LogicalToElementPoint ( Point logicalPoint ) : Point
MakeVisible ( UIElement visual, Rect rectangle ) : Rect

Bring the specified rectangle to view.

MakeVisible ( Visual visual, Rect rectangle ) : Rect

Bring the specified rectangle to view.

MouseWheelDown ( ) : void

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.

MouseWheelLeft ( ) : void

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.

MouseWheelRight ( ) : void

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.

MouseWheelUp ( ) : void

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.

OnApplyTemplate ( ) : void

Called when a template has been applied to the control.

PageDown ( ) : void

Shift the content offset one page down.

PageLeft ( ) : void

Shift the content offset one page left.

PageRight ( ) : void

Shift the content offset one page right.

PageUp ( ) : void

Shift the content offset one page up.

ScaleToFit ( ) : void

Instantly scale the content so that it fits completely in the control.

ScrollToCenter ( Rect contentRect ) : void
SetHorizontalOffset ( double offset ) : void

Called when the offset of the horizontal scrollbar has been set.

SetVerticalOffset ( double offset ) : void

Called when the offset of the vertical scrollbar has been set.

SnapContentOffsetTo ( Point contentOffset ) : void

Instantly center the view on the specified point (in content coordinates).

SnapTo ( Point contentPoint ) : void

Instantly center the view on the specified point (in content coordinates).

UpdateScrollOffsets ( ) : void
ZoomAboutPoint ( double newContentScale, Point contentZoomFocus ) : void

Zoom in/out centered on the specified point (in content coordinates). The focus point is kept locked to it's on screen position (ala google maps).

ZoomAndPanControl ( ) : System

/*Static*/ constructor to define metadata for the control (and link it to the style in Generic.xaml).

ZoomIn ( Point contentZoomCenter, double ZoomFactorStep = 0.2 ) : void

Zoom in at logical point

ZoomIn ( double ZoomFactorStep = 0.2 ) : void

Zoom in at view center

ZoomOut ( Point contentZoomCenter, double ZoomFactorStep = 0.2 ) : void

Zoom out at logical point

ZoomOut ( double ZoomFactorStep = 0.2 ) : void

Zoom out at view center

ZoomTo ( Rect contentRect ) : void

Instantly zoom to the specified rectangle (in content coordinates).

ZoomTo ( double contentScale ) : void

Zoom in/out centered on the viewport center.

ZoomToFit ( ) : void

Instantly scale the content so that it fits completely in the control.

Méthodes protégées

Méthode Description
ArrangeOverride ( Size arrangeBounds ) : Size

Arrange the control and it's children.

MeasureOverride ( Size constraint ) : Size

Measure the control and it's children.

OnMouseDoubleClick ( MouseButtonEventArgs e ) : void
OnMouseDown ( MouseButtonEventArgs e, MouseButton changedButton ) : void
OnMouseLeftButtonDown ( MouseButtonEventArgs e ) : void
OnMouseLeftButtonUp ( MouseButtonEventArgs e ) : void
OnMouseMove ( MouseEventArgs e ) : void
OnMouseRightButtonDown ( MouseButtonEventArgs e ) : void
OnMouseRightButtonUp ( MouseButtonEventArgs e ) : void
OnMouseUp ( MouseButtonEventArgs e, MouseButton changedButton ) : void
OnMouseWheel ( MouseWheelEventArgs e ) : void

Private Methods

Méthode Description
AnimatedZoomPointToViewportCenter ( double newContentScale, Point contentZoomFocus, EventHandler callback ) : void

Zoom to the specified scale and move the specified focus point to the center of the viewport.

ApplyDragZoomRect ( ) : void

When the user has finished dragging out the rectangle the zoom operation is applied.

ClearPrevZoomRect ( ) : void

Clear the memory of the previous zoom level.

ContentOffsetX_Coerce ( DependencyObject d, object baseValue ) : object

Method called to clamp the 'ContentOffsetX' value to its valid range.

ContentOffsetX_PropertyChanged ( DependencyObject o, DependencyPropertyChangedEventArgs e ) : void

Event raised when the 'ContentOffsetX' property has changed value.

ContentOffsetY_Coerce ( DependencyObject d, object baseValue ) : object

Method called to clamp the 'ContentOffsetY' value to its valid range.

ContentOffsetY_PropertyChanged ( DependencyObject o, DependencyPropertyChangedEventArgs e ) : void

Event raised when the 'ContentOffsetY' property has changed value.

ContentScale_Coerce ( DependencyObject d, object baseValue ) : object

Method called to clamp the 'ContentScale' value to its valid range.

ContentScale_PropertyChanged ( DependencyObject o, DependencyPropertyChangedEventArgs e ) : void

Event raised when the 'ContentScale' property has changed value.

FadeOutDragZoomRect ( ) : void
InitDragZoomRect ( Point pt1, Point pt2 ) : void

Initialise the rectangle that the use is dragging out.

MinOrMaxContentScale_PropertyChanged ( DependencyObject o, DependencyPropertyChangedEventArgs e ) : void

Event raised 'MinContentScale' or 'MaxContentScale' has changed.

ResetViewportZoomFocus ( ) : void

Reset the viewport zoom focus to the center of the viewport.

SavePrevZoomRect ( ) : void
SetDragZoomRect ( Point pt1, Point pt2 ) : void

Update the position and size of the rectangle that user is dragging out.

UpdateContentViewportSize ( ) : void

Update the size of the viewport in content coordinates after the viewport size or 'ContentScale' has changed.

UpdateContentZoomFocusX ( ) : void

Update the X coordinate of the zoom focus point in content coordinates.

UpdateContentZoomFocusY ( ) : void

Update the Y coordinate of the zoom focus point in content coordinates.

UpdateTranslationX ( ) : void

Update the X coordinate of the translation transformation.

UpdateTranslationY ( ) : void

Update the Y coordinate of the translation transformation.

UpdateViewportSize ( Size newSize ) : void

Update the viewport size from the specified size.

ZoomPointToViewportCenter ( double newContentScale, Point contentZoomFocus ) : void

Zoom to the specified scale and move the specified focus point to the center of the viewport.

Method Details

AnimatedScaleToFit() public méthode

Do animation that scales the content so that it fits completely in the control.
public AnimatedScaleToFit ( ) : void
Résultat void

AnimatedSnapTo() public méthode

Use animation to center the view on the specified point (in content coordinates).
public AnimatedSnapTo ( Point contentPoint ) : void
contentPoint Point
Résultat void

AnimatedZoomAboutPoint() public méthode

Zoom in/out centered on the specified point (in content coordinates). The focus point is kept locked to it's on screen position (ala google maps).
public AnimatedZoomAboutPoint ( double newContentScale, Point contentZoomFocus ) : void
newContentScale double
contentZoomFocus Point
Résultat void

AnimatedZoomTo() public méthode

Do an animated zoom to the specified rectangle (in content coordinates).
public AnimatedZoomTo ( Rect contentRect ) : void
contentRect System.Windows.Rect
Résultat void

AnimatedZoomTo() public méthode

Zoom in/out centered on the viewport center.
public AnimatedZoomTo ( double contentScale ) : void
contentScale double
Résultat void

AnimatedZoomTo() public méthode

Do an animated zoom to view a specific scale and rectangle (in content coordinates).
public AnimatedZoomTo ( double newScale, Rect contentRect ) : void
newScale double
contentRect Rect
Résultat void

AnimatedZoomToFit() public méthode

Do animation that scales the content so that it fits completely in the control.
public AnimatedZoomToFit ( ) : void
Résultat void

ArrangeOverride() protected méthode

Arrange the control and it's children.
protected ArrangeOverride ( Size arrangeBounds ) : Size
arrangeBounds Size
Résultat Size

ElementToLogicalPoint() public méthode

public ElementToLogicalPoint ( Point elementPoint ) : Point
elementPoint Point
Résultat Point

LineDown() public méthode

Shift the content offset one line down.
public LineDown ( ) : void
Résultat void

LineLeft() public méthode

Shift the content offset one line left.
public LineLeft ( ) : void
Résultat void

LineRight() public méthode

Shift the content offset one line right.
public LineRight ( ) : void
Résultat void

LineUp() public méthode

Shift the content offset one line up.
public LineUp ( ) : void
Résultat void

LogicalToElementPoint() public méthode

public LogicalToElementPoint ( Point logicalPoint ) : Point
logicalPoint Point
Résultat Point

MakeVisible() public méthode

Bring the specified rectangle to view.
public MakeVisible ( UIElement visual, Rect rectangle ) : Rect
visual UIElement
rectangle Rect
Résultat Rect

MakeVisible() public méthode

Bring the specified rectangle to view.
public MakeVisible ( Visual visual, Rect rectangle ) : Rect
visual Visual
rectangle Rect
Résultat Rect

MeasureOverride() protected méthode

Measure the control and it's children.
protected MeasureOverride ( Size constraint ) : Size
constraint Size
Résultat Size

MouseWheelDown() public méthode

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.
public MouseWheelDown ( ) : void
Résultat void

MouseWheelLeft() public méthode

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.
public MouseWheelLeft ( ) : void
Résultat void

MouseWheelRight() public méthode

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.
public MouseWheelRight ( ) : void
Résultat void

MouseWheelUp() public méthode

Don't handle mouse wheel input from the ScrollViewer, the mouse wheel is used for zooming in and out, not for manipulating the scrollbars.
public MouseWheelUp ( ) : void
Résultat void

OnApplyTemplate() public méthode

Called when a template has been applied to the control.
public OnApplyTemplate ( ) : void
Résultat void

OnMouseDoubleClick() protected méthode

protected OnMouseDoubleClick ( MouseButtonEventArgs e ) : void
e MouseButtonEventArgs
Résultat void

OnMouseDown() protected méthode

protected OnMouseDown ( MouseButtonEventArgs e, MouseButton changedButton ) : void
e MouseButtonEventArgs
changedButton MouseButton
Résultat void

OnMouseLeftButtonDown() protected méthode

protected OnMouseLeftButtonDown ( MouseButtonEventArgs e ) : void
e MouseButtonEventArgs
Résultat void

OnMouseLeftButtonUp() protected méthode

protected OnMouseLeftButtonUp ( MouseButtonEventArgs e ) : void
e MouseButtonEventArgs
Résultat void

OnMouseMove() protected méthode

protected OnMouseMove ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void

OnMouseRightButtonDown() protected méthode

protected OnMouseRightButtonDown ( MouseButtonEventArgs e ) : void
e MouseButtonEventArgs
Résultat void

OnMouseRightButtonUp() protected méthode

protected OnMouseRightButtonUp ( MouseButtonEventArgs e ) : void
e MouseButtonEventArgs
Résultat void

OnMouseUp() protected méthode

protected OnMouseUp ( MouseButtonEventArgs e, MouseButton changedButton ) : void
e MouseButtonEventArgs
changedButton MouseButton
Résultat void

OnMouseWheel() protected méthode

protected OnMouseWheel ( MouseWheelEventArgs e ) : void
e MouseWheelEventArgs
Résultat void

PageDown() public méthode

Shift the content offset one page down.
public PageDown ( ) : void
Résultat void

PageLeft() public méthode

Shift the content offset one page left.
public PageLeft ( ) : void
Résultat void

PageRight() public méthode

Shift the content offset one page right.
public PageRight ( ) : void
Résultat void

PageUp() public méthode

Shift the content offset one page up.
public PageUp ( ) : void
Résultat void

ScaleToFit() public méthode

Instantly scale the content so that it fits completely in the control.
public ScaleToFit ( ) : void
Résultat void

ScrollToCenter() public méthode

public ScrollToCenter ( Rect contentRect ) : void
contentRect Rect
Résultat void

SetHorizontalOffset() public méthode

Called when the offset of the horizontal scrollbar has been set.
public SetHorizontalOffset ( double offset ) : void
offset double
Résultat void

SetVerticalOffset() public méthode

Called when the offset of the vertical scrollbar has been set.
public SetVerticalOffset ( double offset ) : void
offset double
Résultat void

SnapContentOffsetTo() public méthode

Instantly center the view on the specified point (in content coordinates).
public SnapContentOffsetTo ( Point contentOffset ) : void
contentOffset Point
Résultat void

SnapTo() public méthode

Instantly center the view on the specified point (in content coordinates).
public SnapTo ( Point contentPoint ) : void
contentPoint Point
Résultat void

UpdateScrollOffsets() public méthode

public UpdateScrollOffsets ( ) : void
Résultat void

ZoomAboutPoint() public méthode

Zoom in/out centered on the specified point (in content coordinates). The focus point is kept locked to it's on screen position (ala google maps).
public ZoomAboutPoint ( double newContentScale, Point contentZoomFocus ) : void
newContentScale double
contentZoomFocus Point
Résultat void

ZoomAndPanControl() public méthode

/*Static*/ constructor to define metadata for the control (and link it to the style in Generic.xaml).
public ZoomAndPanControl ( ) : System
Résultat System

ZoomIn() public méthode

Zoom in at logical point
public ZoomIn ( Point contentZoomCenter, double ZoomFactorStep = 0.2 ) : void
contentZoomCenter Point
ZoomFactorStep double
Résultat void

ZoomIn() public méthode

Zoom in at view center
public ZoomIn ( double ZoomFactorStep = 0.2 ) : void
ZoomFactorStep double
Résultat void

ZoomOut() public méthode

Zoom out at logical point
public ZoomOut ( Point contentZoomCenter, double ZoomFactorStep = 0.2 ) : void
contentZoomCenter Point
ZoomFactorStep double
Résultat void

ZoomOut() public méthode

Zoom out at view center
public ZoomOut ( double ZoomFactorStep = 0.2 ) : void
ZoomFactorStep double
Résultat void

ZoomTo() public méthode

Instantly zoom to the specified rectangle (in content coordinates).
public ZoomTo ( Rect contentRect ) : void
contentRect Rect
Résultat void

ZoomTo() public méthode

Zoom in/out centered on the viewport center.
public ZoomTo ( double contentScale ) : void
contentScale double
Résultat void

ZoomToFit() public méthode

Instantly scale the content so that it fits completely in the control.
public ZoomToFit ( ) : void
Résultat void

Property Details

AnimationDurationProperty public_oe static_oe property

public static DependencyProperty AnimationDurationProperty
Résultat DependencyProperty

ContentOffsetXProperty public_oe static_oe property

public static DependencyProperty ContentOffsetXProperty
Résultat DependencyProperty

ContentOffsetYProperty public_oe static_oe property

public static DependencyProperty ContentOffsetYProperty
Résultat DependencyProperty

ContentScalableProperty public_oe static_oe property

public static DependencyProperty ContentScalableProperty
Résultat DependencyProperty

ContentScaleProperty public_oe static_oe property

public static DependencyProperty ContentScaleProperty
Résultat DependencyProperty

ContentViewportHeightProperty public_oe static_oe property

public static DependencyProperty ContentViewportHeightProperty
Résultat DependencyProperty

ContentViewportWidthProperty public_oe static_oe property

public static DependencyProperty ContentViewportWidthProperty
Résultat DependencyProperty

ContentZoomFocusXProperty public_oe static_oe property

public static DependencyProperty ContentZoomFocusXProperty
Résultat DependencyProperty

ContentZoomFocusYProperty public_oe static_oe property

public static DependencyProperty ContentZoomFocusYProperty
Résultat DependencyProperty

IsMouseWheelScrollingEnabledProperty public_oe static_oe property

public static DependencyProperty IsMouseWheelScrollingEnabledProperty
Résultat DependencyProperty

MaxContentScaleProperty public_oe static_oe property

public static DependencyProperty MaxContentScaleProperty
Résultat DependencyProperty

MinContentScaleProperty public_oe static_oe property

public static DependencyProperty MinContentScaleProperty
Résultat DependencyProperty

ViewportZoomFocusXProperty public_oe static_oe property

public static DependencyProperty ViewportZoomFocusXProperty
Résultat DependencyProperty

ViewportZoomFocusYProperty public_oe static_oe property

public static DependencyProperty ViewportZoomFocusYProperty
Résultat DependencyProperty