C# Class XapEditor.ScrollableTabPanel

A scrollable TabPanel control.
Inheritance: System.Windows.Controls.Panel, IScrollInfo, INotifyPropertyChanged
Afficher le fichier Open project: net-shell/quantum-vaginer

Méthodes publiques

Свойство Type Description
AnimationTimeSpanProperty System.Windows.DependencyProperty
LineScrollPixelCountProperty System.Windows.DependencyProperty
RightOverflowMarginProperty System.Windows.DependencyProperty

Méthodes publiques

Méthode Description
IsPartlyVisible ( UIElement uieChild ) : bool

Determines whether the passed child control is only partially visible (i.e. whether part of it is outside of the Viewport).

LineDown ( ) : void

Increments the vertical offset.

This is unsupported.

LineLeft ( ) : void

Decrements the horizontal offset by the amount specified in the LineScrollPixelCount property.

LineRight ( ) : void

Increments the horizontal offset by the amount specified in the LineScrollPixelCount property.

LineUp ( ) : void

Decrements the vertical offset.

This is unsupported.

MakeVisible ( System visual, System rectangle ) : Rect

Scrolls a child of the panel (Visual) into view.

MouseWheelDown ( ) : void
MouseWheelLeft ( ) : void
MouseWheelRight ( ) : void
MouseWheelUp ( ) : void
PageDown ( ) : void
PageLeft ( ) : void
PageRight ( ) : void
PageUp ( ) : void
PartlyVisiblePortion_OverflowToLeft ( UIElement uieChild ) : double

Determines the visible part of the passed child control, measured between 0 (completely invisible) and 1 (completely visible), that is overflowing into the left invisible portion of the panel.

PartlyVisiblePortion_OverflowToRight ( UIElement uieChild ) : double

Determines the visible part of the passed child control, measured between 0 (completely invisible) and 1 (completely visible), that is overflowing into the right invisible portion of the panel.

ScrollableTabPanel ( ) : System
SetHorizontalOffset ( double offset ) : void
SetVerticalOffset ( double offset ) : void

Méthodes protégées

Méthode Description
ArrangeOverride ( Size finalSize ) : Size

This is the 2nd pass of the layout process, where child controls are being arranged within the panel.

MeasureOverride ( Size availableSize ) : Size

This is the 1st pass of the layout process. Here, the Extent's size is being determined.

OnChildDesiredSizeChanged ( UIElement child ) : void
OnVisualChildrenChanged ( DependencyObject visualAdded, DependencyObject visualRemoved ) : void

Private Methods

Méthode Description
CalculateNewScrollOffset ( double dblViewport_Left, double dblViewport_Right, double dblChild_Left, double dblChild_Right ) : double

Calculates the HorizontalOffset for a given child-control, based on a desired value.

GetChildRectangle ( UIElement uieChild ) : Rect

Returns the rectangle that defines the outer bounds of a child control.

GetIntersectionRectangle ( UIElement uieChild ) : Rect

Returns a Rectangle that contains the intersection between the ScrollViewer's and the passed child control's boundaries, that is, the portion of the child control which is currently visibile within the ScrollViewer's Viewport.

GetScrollViewerRectangle ( ) : Rect

Returns the currently rendered rectangle that makes up the Viewport.

NotifyPropertyChanged ( String strPropertyName ) : void

Called from within this class whenever subscribers (i.e. bindings) are to be notified of a property-change

RemoveOpacityMask ( UIElement uieChild ) : void

Will remove the OpacityMask for all child controls.

RemoveOpacityMasks ( ) : void

Will remove the OpacityMask for all child controls.

ScrollOwner_Loaded ( object sender, RoutedEventArgs e ) : void

Fired when the ScrollViewer is initially loaded/displayed. Required in order to initially setup the childrens' OpacityMasks.

ScrollableTabPanel_SizeChanged ( object sender, System.Windows.SizeChangedEventArgs e ) : void
UpdateMembers ( Size szExtent, Size szViewportSize ) : void

Compares the present sizes (Extent/Viewport) against the local values and updates them, if required.

UpdateOpacityMask ( UIElement uieChild ) : void

Takes the given child control and checks as to whether the control is completely visible (in the Viewport). If not (i.e. if it's only partially visible), an OpacityMask will be applied so that it fades out into nothingness.

UpdateOpacityMasks ( ) : void

Will check all child controls and set their OpacityMasks.

daScrollAnimation_Completed ( object sender, EventArgs e ) : void

Fired when the scroll-animation has finished its work, that is, at the point in time when the ScrollViewerer has reached its final scroll-position resp. offset, which is when the childrens' OpacityMasks can be updated.

getLeftEdge ( UIElement uieChild ) : double

Returns the left position of the requested child (in Viewport-coordinates).

Method Details

ArrangeOverride() protected méthode

This is the 2nd pass of the layout process, where child controls are being arranged within the panel.
protected ArrangeOverride ( Size finalSize ) : Size
finalSize System.Windows.Size The Viewport's rectangle, as obtained after the 1st pass (MeasureOverride).
Résultat System.Windows.Size

IsPartlyVisible() public méthode

Determines whether the passed child control is only partially visible (i.e. whether part of it is outside of the Viewport).
public IsPartlyVisible ( UIElement uieChild ) : bool
uieChild UIElement The child control to be tested.
Résultat bool

LineDown() public méthode

Increments the vertical offset.
This is unsupported.
public LineDown ( ) : void
Résultat void

LineLeft() public méthode

Decrements the horizontal offset by the amount specified in the LineScrollPixelCount property.
public LineLeft ( ) : void
Résultat void

LineRight() public méthode

Increments the horizontal offset by the amount specified in the LineScrollPixelCount property.
public LineRight ( ) : void
Résultat void

LineUp() public méthode

Decrements the vertical offset.
This is unsupported.
public LineUp ( ) : void
Résultat void

MakeVisible() public méthode

Scrolls a child of the panel (Visual) into view.
public MakeVisible ( System visual, System rectangle ) : Rect
visual System
rectangle System
Résultat System.Windows.Rect

MeasureOverride() protected méthode

This is the 1st pass of the layout process. Here, the Extent's size is being determined.
protected MeasureOverride ( Size availableSize ) : Size
availableSize System.Windows.Size The Viewport's rectangle, as obtained after the 1st pass (MeasureOverride).
Résultat System.Windows.Size

MouseWheelDown() public méthode

public MouseWheelDown ( ) : void
Résultat void

MouseWheelLeft() public méthode

public MouseWheelLeft ( ) : void
Résultat void

MouseWheelRight() public méthode

public MouseWheelRight ( ) : void
Résultat void

MouseWheelUp() public méthode

public MouseWheelUp ( ) : void
Résultat void

OnChildDesiredSizeChanged() protected méthode

protected OnChildDesiredSizeChanged ( UIElement child ) : void
child UIElement
Résultat void

OnVisualChildrenChanged() protected méthode

protected OnVisualChildrenChanged ( DependencyObject visualAdded, DependencyObject visualRemoved ) : void
visualAdded System.Windows.DependencyObject
visualRemoved System.Windows.DependencyObject
Résultat void

PageDown() public méthode

public PageDown ( ) : void
Résultat void

PageLeft() public méthode

public PageLeft ( ) : void
Résultat void

PageRight() public méthode

public PageRight ( ) : void
Résultat void

PageUp() public méthode

public PageUp ( ) : void
Résultat void

PartlyVisiblePortion_OverflowToLeft() public méthode

Determines the visible part of the passed child control, measured between 0 (completely invisible) and 1 (completely visible), that is overflowing into the left invisible portion of the panel.
public PartlyVisiblePortion_OverflowToLeft ( UIElement uieChild ) : double
uieChild UIElement The child control to be tested.
Résultat double

PartlyVisiblePortion_OverflowToRight() public méthode

Determines the visible part of the passed child control, measured between 0 (completely invisible) and 1 (completely visible), that is overflowing into the right invisible portion of the panel.
public PartlyVisiblePortion_OverflowToRight ( UIElement uieChild ) : double
uieChild UIElement The child control to be tested.
Résultat double

ScrollableTabPanel() public méthode

public ScrollableTabPanel ( ) : System
Résultat System

SetHorizontalOffset() public méthode

public SetHorizontalOffset ( double offset ) : void
offset double
Résultat void

SetVerticalOffset() public méthode

public SetVerticalOffset ( double offset ) : void
offset double
Résultat void

Property Details

AnimationTimeSpanProperty public_oe static_oe property

public static DependencyProperty,System.Windows AnimationTimeSpanProperty
Résultat System.Windows.DependencyProperty

LineScrollPixelCountProperty public_oe static_oe property

public static DependencyProperty,System.Windows LineScrollPixelCountProperty
Résultat System.Windows.DependencyProperty

RightOverflowMarginProperty public_oe static_oe property

public static DependencyProperty,System.Windows RightOverflowMarginProperty
Résultat System.Windows.DependencyProperty