Table of Contents

Class SkiaTabsSelector

Namespace
DrawnUi.Controls
Assembly
DrawnUi.Maui.dll
public class SkiaTabsSelector : SkiaLayout, INotifyPropertyChanged, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IVisualElementController, IElementController, IView, ITransform, IElement, IVisualTreeElement, IContainer, IList<IView>, ICollection<IView>, IEnumerable<IView>, IEnumerable, ISkiaGestureListener, IHasAfterEffects, ISkiaDisposable, ISkiaGridLayout, ISkiaLayout, ISkiaControl, IDrawnBase, ICanBeUpdatedWithContext, ICanBeUpdated, ILayoutInsideViewport, IInsideViewport, IVisibilityAware, IDisposable
Inheritance
SkiaTabsSelector
Implements
Inherited Members
Extension Methods

Fields

CommandTabReselectedProperty

public static readonly BindableProperty CommandTabReselectedProperty

Field Value

BindableProperty

CommandTabSelectedProperty

public static readonly BindableProperty CommandTabSelectedProperty

Field Value

BindableProperty

SelectableTabs

protected List<SkiaTabsSelector.TabEntry> SelectableTabs

Field Value

List<SkiaTabsSelector.TabEntry>

SelectedIndexProperty

public static readonly BindableProperty SelectedIndexProperty

Field Value

BindableProperty

TabTypeProperty

public static readonly BindableProperty TabTypeProperty

Field Value

BindableProperty

Properties

CommandTabReselected

public ICommand CommandTabReselected { get; set; }

Property Value

ICommand

CommandTabSelected

public ICommand CommandTabSelected { get; set; }

Property Value

ICommand

CommandTappedTab

public ICommand CommandTappedTab { get; }

Property Value

ICommand

LastSelectedIndex

public int LastSelectedIndex { get; set; }

Property Value

int

SelectedIndex

public int SelectedIndex { get; set; }

Property Value

int

TabType

Specify the type of the tab to be included, other types will just render and not be treated as tabs. Using this so we can included any elements inside this control to create any design.

public Type TabType { get; set; }

Property Value

Type

Methods

ApplySelectedIndex(bool, int)

public virtual Task ApplySelectedIndex(bool tabsChanged, int selectedIndex)

Parameters

tabsChanged bool
selectedIndex int

Returns

Task

ApplySelectedIndex(int)

This is called when processing stack of index changes. For example, you might have index changed 5 times during the time you were executing ApplySelectedIndex (playing the animations etc), so then you just need the latest index to be applied. At the same time ApplySelectedIndex will not be called again while its already running, this way you would visually apply only the latest most actual value instead of maybe freezing the UI for too many heavy to be rendered changes.

public virtual Task ApplySelectedIndex(int index)

Parameters

index int

Returns

Task

ApplySelectedIndexInternal()

public void ApplySelectedIndexInternal()

OnChildAdded(SkiaControl)

public override void OnChildAdded(SkiaControl child)

Parameters

child SkiaControl

OnChildRemoved(SkiaControl)

public override void OnChildRemoved(SkiaControl child)

Parameters

child SkiaControl

OnDisposing()

Base performs some cleanup actions with Superview

public override void OnDisposing()

OnTabReselected()

public virtual void OnTabReselected()

OnTabSelectionChanged(bool, int)

public virtual Task OnTabSelectionChanged(bool tabsChanged, int index)

Parameters

tabsChanged bool
index int

Returns

Task

Rebuild()

public void Rebuild()