C# Class MenuKiller.CircularPanel

Assumptions: o The child elements are on a circle. The children will be centered respective to a point they provide (MenuKillerItems), otherwise to their center. o There is a multitude of options on how the panel is supposed to behave, but within the arrange and measure methods, this information is compressed into very few variables.
Inheritance: System.Windows.Controls.Panel, ICustomAlignedControl
Datei anzeigen Open project: TNOCS/csTouch Class Usage Examples

Public Properties

Property Type Description
AngleSpacingProperty System.Windows.DependencyProperty
EndAngleProperty System.Windows.DependencyProperty
RadiusProperty System.Windows.DependencyProperty
StartAngleProperty System.Windows.DependencyProperty

Private Properties

Property Type Description
GetChildOffset System.Windows.Vector

Public Methods

Method Description
CircularPanel ( ) : System
RecalcParams ( ) : void
UpdateRenderAngleSpacing ( ) : void

Updates the RenderAngleSpacing and handles the 'Auto' case when AngleSpacing is NaN.

Protected Methods

Method Description
ArrangeOverride ( Size finalSize ) : Size
MeasureOverride ( Size availableSize ) : Size
OnRender ( System.Windows.Media.DrawingContext dc ) : void

Private Methods

Method Description
GetChildOffset ( UIElement child, double dAngle ) : System.Windows.Vector

Method Details

ArrangeOverride() protected method

protected ArrangeOverride ( Size finalSize ) : Size
finalSize System.Windows.Size
return System.Windows.Size

CircularPanel() public method

public CircularPanel ( ) : System
return System

MeasureOverride() protected method

protected MeasureOverride ( Size availableSize ) : Size
availableSize System.Windows.Size
return System.Windows.Size

OnRender() protected method

protected OnRender ( System.Windows.Media.DrawingContext dc ) : void
dc System.Windows.Media.DrawingContext
return void

RecalcParams() public method

public RecalcParams ( ) : void
return void

UpdateRenderAngleSpacing() public method

Updates the RenderAngleSpacing and handles the 'Auto' case when AngleSpacing is NaN.
public UpdateRenderAngleSpacing ( ) : void
return void

Property Details

AngleSpacingProperty public_oe static_oe property

public static DependencyProperty,System.Windows AngleSpacingProperty
return System.Windows.DependencyProperty

EndAngleProperty public_oe static_oe property

public static DependencyProperty,System.Windows EndAngleProperty
return System.Windows.DependencyProperty

RadiusProperty public_oe static_oe property

public static DependencyProperty,System.Windows RadiusProperty
return System.Windows.DependencyProperty

StartAngleProperty public_oe static_oe property

public static DependencyProperty,System.Windows StartAngleProperty
return System.Windows.DependencyProperty