ZoomPanel is a custom control that offers the ultimate animated zooming and panning capabilities to some WPF programs.
Initially, zooming and panning look like a straightforward task in WPF since You can scale any component with ScaleTransform. However, if you would like to incorporate scrollbars, cartoon, mouse controller, zoom to goal, miniature map, along with other features, this task quickly becomes really complex.
Don't spend many hours creating zooming features by yourself. Rather, use ZoomPanel using its greatest zooming features and devote your valuable time to other jobs.
Controls from the library
The primary controls of this Ab2d.Controls.ZoomPanel library is:
- ZoomPanel - the principal controller that permits users of this program to pan or zoom the material of their ZoomPanel control. The activity that's performed on mouse events is characterized from ZoomPanel's ZoomMode.
- ZoomController - the predefined zoom control with buttons to modify the existing ZoomMode of this ZoomPanel (displayed in the top right corner of this picture above).
- ZoomPanelNavigator - features a circle with buttons to move the displayed area about or reset the zoom mode. Additionally, it includes a slider to control the zoom factor (displayed on the top left side of the picture above).
- ZoomPanelMiniMap - shows that a portion of this content is revealed. You may use it to preview that portion of this material is displayed. Additionally, it allows shifting the displayed material and zooming in and out with the mouse wheel (displayed in the bottom right corner of the picture above).
Note: that You can obtain the library only for WPF programs - maybe not for Silverlight.
First, we have to add a reference to our meeting and add a namespace declaration to the original component. The ZoomPanel controller does a lot of the"magical". According to its ZoomMode, it empowers zooming in and out, panning, zooming to the selected rectangle of the material of ZoomPanel. The zoom controller is merely a predefined ToggleButtons panel that permits users of this program to change between distinct ZoomMode on ZoomPanel.
The next ZoomModes can be found:
- Move manner empowers shifting the material of ZoomPanel with the left mouse button pressed (panning).
- Zoom-in mode zooms from the content. When the left button is clicked, then the place below the mouse becomes a new center of this picture.
- ZoomOut style is comparable to zoom in, but it seems out.
- Rectangle mode allows the user to draw a rectangle by dragging the mouse after releasing the mouse button that the material is zoomed in or out to demonstrate the region of the rectangle scaled to fit within the ZoomPanel.
- None manner simplifies ZoomPanel.
In most zoom manners except none zooming in and out may also be performed with the mouse wheel (if not disabled by IsMouseWheelZoomEnabled property).
The ZoomPanel could be completely customized by employing a lot of its public procedures. Additionally, a custom controller can be derived out of it, and You can override a few core techniques to give custom behavior.
It's also possible to produce your own ZoomController - the sample program which includes the bundle shows two distinct techniques to perform this.
The ZoomPanelNavigator may be employed to choose the slider's zoom factor and move the displayed area around using buttons. You can customize the controller by establishing your personal colors, picking orientation, or demonstrating a part of their controller (just the buttons or just the slider).
The sample also puts a ZoomPanelMiniMap into the base right corner. The management shows which portion of this content is presently observable. It may also be utilized to maneuver the displayed area about by dragging the rectangle at the MiniMap. With a mouse wheel, it's also possible to zoom out and in the material of this ZoomPanel.
More info on methods and properties is found from the help file included in the bundle.
AB2D Controls ZoomPanel Great Features:
- Support for all sorts of zooming and panning: move, zoom in, zoom out, rectangle zoom, reset.
- Zooming in and out with the mouse.
- Animated zooming for good user experience (with added optimizations for zooming bitmap pictures ).
- Support for custom cartoons.
- Support for incorporating ZoomPanel into ScrollViewer.
- Possibility to restrict the zoom region.
- Support for custom and dynamic content shown depending on the current zoom level, such as unread postings.
- Many techniques and properties to customize the behavior of ZoomPanel.
- Entirely customizable ZoomController to make it fit in your program's style.
- Contained MiniMap management that shows which portion of this material is displayed. You may use it to preview that portion of this material is displayed. Additionally, it allows shifting the content that is shown and zooming in and out with the mouse.
- Contained navigator controller, which You may use to maneuver around the zoom region and place zoom factor together with the slider.
- Thorough samples and documentation.
- You can also buy source code.
- Complete support for the multi-touch movement, rotate and scale.
- Active development based on customer's opinions.