C# 클래스 XapEditor.ScrollableTabPanel

A scrollable TabPanel control.
상속: System.Windows.Controls.Panel, IScrollInfo, INotifyPropertyChanged
파일 보기 프로젝트 열기: net-shell/quantum-vaginer

공개 프로퍼티들

프로퍼티 타입 설명
AnimationTimeSpanProperty System.Windows.DependencyProperty
LineScrollPixelCountProperty System.Windows.DependencyProperty
RightOverflowMarginProperty System.Windows.DependencyProperty

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
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

비공개 메소드들

메소드 설명
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).

메소드 상세

ArrangeOverride() 보호된 메소드

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).
리턴 System.Windows.Size

IsPartlyVisible() 공개 메소드

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.
리턴 bool

LineDown() 공개 메소드

Increments the vertical offset.
This is unsupported.
public LineDown ( ) : void
리턴 void

LineLeft() 공개 메소드

Decrements the horizontal offset by the amount specified in the LineScrollPixelCount property.
public LineLeft ( ) : void
리턴 void

LineRight() 공개 메소드

Increments the horizontal offset by the amount specified in the LineScrollPixelCount property.
public LineRight ( ) : void
리턴 void

LineUp() 공개 메소드

Decrements the vertical offset.
This is unsupported.
public LineUp ( ) : void
리턴 void

MakeVisible() 공개 메소드

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

MeasureOverride() 보호된 메소드

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).
리턴 System.Windows.Size

MouseWheelDown() 공개 메소드

public MouseWheelDown ( ) : void
리턴 void

MouseWheelLeft() 공개 메소드

public MouseWheelLeft ( ) : void
리턴 void

MouseWheelRight() 공개 메소드

public MouseWheelRight ( ) : void
리턴 void

MouseWheelUp() 공개 메소드

public MouseWheelUp ( ) : void
리턴 void

OnChildDesiredSizeChanged() 보호된 메소드

protected OnChildDesiredSizeChanged ( UIElement child ) : void
child UIElement
리턴 void

OnVisualChildrenChanged() 보호된 메소드

protected OnVisualChildrenChanged ( DependencyObject visualAdded, DependencyObject visualRemoved ) : void
visualAdded System.Windows.DependencyObject
visualRemoved System.Windows.DependencyObject
리턴 void

PageDown() 공개 메소드

public PageDown ( ) : void
리턴 void

PageLeft() 공개 메소드

public PageLeft ( ) : void
리턴 void

PageRight() 공개 메소드

public PageRight ( ) : void
리턴 void

PageUp() 공개 메소드

public PageUp ( ) : void
리턴 void

PartlyVisiblePortion_OverflowToLeft() 공개 메소드

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.
리턴 double

PartlyVisiblePortion_OverflowToRight() 공개 메소드

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.
리턴 double

ScrollableTabPanel() 공개 메소드

public ScrollableTabPanel ( ) : System
리턴 System

SetHorizontalOffset() 공개 메소드

public SetHorizontalOffset ( double offset ) : void
offset double
리턴 void

SetVerticalOffset() 공개 메소드

public SetVerticalOffset ( double offset ) : void
offset double
리턴 void

프로퍼티 상세

AnimationTimeSpanProperty 공개적으로 정적으로 프로퍼티

public static DependencyProperty,System.Windows AnimationTimeSpanProperty
리턴 System.Windows.DependencyProperty

LineScrollPixelCountProperty 공개적으로 정적으로 프로퍼티

public static DependencyProperty,System.Windows LineScrollPixelCountProperty
리턴 System.Windows.DependencyProperty

RightOverflowMarginProperty 공개적으로 정적으로 프로퍼티

public static DependencyProperty,System.Windows RightOverflowMarginProperty
리턴 System.Windows.DependencyProperty