C# Класс LoopList.LoopList

Dieses UserControl ermöglicht es alle Klassen vom Typ FrameworkElement karusellartig in vertikaler und horizontaler (nicht beides gleichzeitig) Richtung zu bewegen. Dabei sind maximal nur 3 Objekte im UserControl tatsächlich geladen. Diese Objekte sind Grids (_left, _right, _above), die um Richtungspfeile dekoriert sind. In die Mitte eines jeden Grids wird das aktuelle FrameworkElement, welches angezeigt werden soll, geladen. Bei nur einem hinzugefuegten FrameworkElement gibt es keine Bewegung. Bei 2 FrameworkElementen jeweils nur in horizontaler oder vertikaler Richtung. Die interne Datenstruktur ist ein Graph, der aus verlinkten Nodes besteht. Der Graph kann beliebig sein, ein Node kann jedoch maximal nur 4 eingehende/ausgehende Links setzen. Wenn der Graph nicht zusammenhängend ist, können nur Nodes erreicht werden, die vom ersten jemals eingefuegten Node aus erreichbar sind. Die Einfuegemethoden sind AddNewToLeft usw.. Diese erzeugen neue Nodes. Muss auf einen bereits existierenden Node verlinkt werden, so muss dies in den jeweiligen Nodes gesetzt werden (z.B node.Right = otherNode). Siehe Projekt-Dokumentation für genauere Beschreibung
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AddNewToAbove ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
AddNewToBelow ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
AddNewToLeft ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
AddNewToRight ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
AnimBack ( ) : void
AnimH ( bool leftDir ) : void
AnimV ( bool upDir ) : void
GetDraggableHLength ( ) : double
GetDraggableVLength ( ) : double
HDrag ( double xDistance ) : bool
HDragPercent ( double xPercent ) : bool
IsAnimating ( ) : bool
IsShowing ( FrameworkElement fw ) : bool
LoopList ( ) : System
SetAutoDragOffset ( double autoDrag ) : void
SetDuration ( Duration duration ) : void
VDrag ( double yDistance ) : bool
VDragPercent ( double yPercent ) : bool

Приватные методы

Метод Описание
AnimCompletedBack ( ) : void
AnimCompletedX ( ) : void
AnimCompletedY ( ) : void
CloneElement ( UIElement orig ) : UIElement
FireScrolled ( LoopListArgs args ) : void
LoopList_Loaded ( object sender, RoutedEventArgs e ) : void
LoopList_SizeChanged ( object sender, System.Windows.SizeChangedEventArgs e ) : void
MarkCentered ( ) : void
MarkDirections ( Node node ) : void
SetChild ( Grid grid, FrameworkElement frameworkElement, Node node ) : void
UnmarkCentered ( ) : void
anchor_NodeChangedEvent ( object sender, EventArgs e ) : void

Описание методов

AddNewToAbove() публичный Метод

public AddNewToAbove ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
anchor Node
id int
frameworkElement System.Windows.FrameworkElement
Результат Node

AddNewToBelow() публичный Метод

public AddNewToBelow ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
anchor Node
id int
frameworkElement System.Windows.FrameworkElement
Результат Node

AddNewToLeft() публичный Метод

public AddNewToLeft ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
anchor Node
id int
frameworkElement System.Windows.FrameworkElement
Результат Node

AddNewToRight() публичный Метод

public AddNewToRight ( Node anchor, int id, FrameworkElement frameworkElement ) : Node
anchor Node
id int
frameworkElement System.Windows.FrameworkElement
Результат Node

AnimBack() публичный Метод

public AnimBack ( ) : void
Результат void

AnimH() публичный Метод

public AnimH ( bool leftDir ) : void
leftDir bool
Результат void

AnimV() публичный Метод

public AnimV ( bool upDir ) : void
upDir bool
Результат void

GetDraggableHLength() публичный Метод

public GetDraggableHLength ( ) : double
Результат double

GetDraggableVLength() публичный Метод

public GetDraggableVLength ( ) : double
Результат double

HDrag() публичный Метод

public HDrag ( double xDistance ) : bool
xDistance double
Результат bool

HDragPercent() публичный Метод

public HDragPercent ( double xPercent ) : bool
xPercent double
Результат bool

IsAnimating() публичный Метод

public IsAnimating ( ) : bool
Результат bool

IsShowing() публичный Метод

public IsShowing ( FrameworkElement fw ) : bool
fw System.Windows.FrameworkElement
Результат bool

LoopList() публичный Метод

public LoopList ( ) : System
Результат System

SetAutoDragOffset() публичный Метод

public SetAutoDragOffset ( double autoDrag ) : void
autoDrag double
Результат void

SetDuration() публичный Метод

public SetDuration ( Duration duration ) : void
duration Duration
Результат void

VDrag() публичный Метод

public VDrag ( double yDistance ) : bool
yDistance double
Результат bool

VDragPercent() публичный Метод

public VDragPercent ( double yPercent ) : bool
yPercent double
Результат bool