Class SfExpander
A class which is a container that provides a way to host a customizable header and content part as compound view. The content part gets expanded upon tapping the header part of the SfExpander.
Inheritance
Implements
Namespace: Syncfusion.XForms.Expander
Assembly: Syncfusion.Expander.XForms.dll
Syntax
public class SfExpander : View, IDisposable, IParentThemeElement, IThemeElement
Remarks
The SfExpander contains header and content which is fully customizable. The header of SfExpander includes indicator icon that can be used to expand and collapse the content and able to customize it. Expand and collapse of the view is controlled by IsExpanded property.
Constructors
SfExpander()
Initializes a new instance of the SfExpander class.
Declaration
public SfExpander()
Fields
AnimationDurationProperty
Identifies the AnimationDuration bindable property.
Declaration
public static readonly BindableProperty AnimationDurationProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
AnimationEasingProperty
Identifies the AnimationEasing bindable property.
Declaration
public static readonly BindableProperty AnimationEasingProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
ContentProperty
Identifies the Content bindable property.
Declaration
public static readonly BindableProperty ContentProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
DynamicSizeModeProperty
Identifies the DynamicSizeMode bindable property.
Declaration
public static readonly BindableProperty DynamicSizeModeProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
HeaderBackgroundColorProperty
Identifies the HeaderBackgroundColor bindable property.
Declaration
public static readonly BindableProperty HeaderBackgroundColorProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
HeaderIconPositionProperty
Identifies the HeaderIconPosition bindable property.
Declaration
public static readonly BindableProperty HeaderIconPositionProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
HeaderProperty
Identifies the Header bindable property.
Declaration
public static readonly BindableProperty HeaderProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
IconColorProperty
Identifies the IconColor bindable property.
Declaration
public static readonly BindableProperty IconColorProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
IsExpandedProperty
Identifies the IsExpanded bindable property.
Declaration
public static readonly BindableProperty IsExpandedProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
Properties
AnimationDuration
Gets or sets the value indicates how long the animation cycle should take when expand and collapse the SfExpander.
Declaration
public double AnimationDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | The value indicates how long the animation cycle should take when expand and collapse the SfExpander. |
Remarks
By default, the animation duration is 200d.
Examples
expander.AnimationDuration = 100d;
AnimationEasing
Gets or sets the AnimationEasing that specifies the rate of change of parameter over time or animation style of the expander.
Declaration
public AnimationEasing AnimationEasing { get; set; }
Property Value
| Type | Description |
|---|---|
| AnimationEasing | The type of animation that specifies the rate of change of parameter over time or animation style of the expander. |
Remarks
Set this property as None to disable the animation for SfExpander.
Examples
expander.AnimationEasing = AnimationEasing.Linear;
Content
Gets or sets any kind of customizable visual element that can be loaded as content part of the SfExpander. The default value is null which displays an empty space when expanded.
Declaration
public View Content { get; set; }
Property Value
| Type | Description |
|---|---|
| Xamarin.Forms.View | The view to be loaded as the expander part of the SfExpander. |
Examples
var content = new Label();
content.Text = "SfExpander provides a way to add the content in an expandable area.";
expander.Content = content;
DynamicSizeMode
Gets or sets the value indicating whether to update expander based on dynamic size changes of Header view and Content view.
Declaration
public DynamicSizeMode DynamicSizeMode { get; set; }
Property Value
| Type |
|---|
| DynamicSizeMode |
Examples
expander.DynamicSizeMode = DynamicSizeMode.Content | DynamicSizeMode.Header;
Header
Gets or sets the view to be loaded as the header of the SfExpander. The header also contains the header view icon which is positioned based on the HeaderIconPosition property.
Declaration
public View Header { get; set; }
Property Value
| Type | Description |
|---|---|
| Xamarin.Forms.View | The view to be loaded as the header of the SfExpander. |
Remarks
The view to be loaded as the header of the SfExpander. Customize the header part of the control with any desired view or layout. The header contains the header icon view that is positioned based on the HeaderIconPosition property. Customize the header icon position with start, end and none values which is configured using IconPosition enum.
Examples
var header = new Label();
header.Text = DateTime.Now.ToString("hh:mm tt");
expander.Header = header;
HeaderBackgroundColor
Gets or sets the background color for the expander header item.
Declaration
public Color HeaderBackgroundColor { get; set; }
Property Value
| Type |
|---|
| Xamarin.Forms.Color |
Examples
expander.HeaderBackgroundColor = Color.Grey;
HeaderIconPosition
Gets or sets the IconPosition indicates that where to show the header view icon in the Header.
Declaration
public IconPosition HeaderIconPosition { get; set; }
Property Value
| Type | Description |
|---|---|
| IconPosition | The position indicates that where to show the header view icon in the Header. |
Examples
expander.HeaderIconPosition = IconPosition.End;
IconColor
Gets or sets the expander icon color.
Declaration
public Color IconColor { get; set; }
Property Value
| Type |
|---|
| Xamarin.Forms.Color |
Examples
expander.IconColor = Color.Grey;
IsExpanded
Gets or sets a value indicating whether the SfExpander is in Expanded state or Collapsed state.
Declaration
public bool IsExpanded { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The boolean value indicating whether the SfExpander is in Expanded state or Collapsed state. |
Examples
expander.IsExpanded = true;
Methods
ChangeVisualState()
Helps to trigger the VisualState initially when View is loaded.
Declaration
protected override void ChangeVisualState()
Dispose()
Perform final clean up before it is released from memory.
Declaration
public void Dispose()
Dispose(Boolean)
Releases the unmanaged resources used by the component and optionally releases the managed resources.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | disposing | if true - release both managed and unmanaged resources; if false - release only unmanaged resources. |
OnBindingContextChanged()
Notifies the change in BindingContext for the expander.
Declaration
protected override void OnBindingContextChanged()
OnSizeAllocated(Double, Double)
Allocates the size of item elements.
Declaration
protected override void OnSizeAllocated(double width, double height)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | The new width of the element. |
| System.Double | height | The new height of the element. |
RaiseCollapsedEvent()
Raises the Collapsed event with ExpandedAndCollapsedEventArgs.
Declaration
protected void RaiseCollapsedEvent()
RaiseCollapsingEvent()
Raises the Collapsing event with ExpandingAndCollapsingEventArgs.
Declaration
protected bool RaiseCollapsingEvent()
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns true if collapsing event is not triggered else inverse of ExpandingAndCollapsingEventArgs.Cancel value. |
See Also
RaiseExpandedEvent()
Raises the Expanded event with ExpandedAndCollapsedEventArgs.
Declaration
protected void RaiseExpandedEvent()
RaiseExpandingEvent()
Raises the Expanding event with ExpandingAndCollapsingEventArgs.
Declaration
protected bool RaiseExpandingEvent()
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns true if expanding event is not triggered else inverse of ExpandingAndCollapsingEventArgs.Cancel value. |
See Also
Events
Collapsed
This event occurs after an SfExpander is collapsed when tapping on the Header.
Declaration
public event EventHandler<ExpandedAndCollapsedEventArgs> Collapsed
Event Type
| Type |
|---|
| System.EventHandler<ExpandedAndCollapsedEventArgs> |
Remarks
The event handler receives an argument of type ExpandingAndCollapsingEventArgs containing data related to this event.
Examples
expander.Collapsed += Expander_Collapsed;
private void Expander_Collapsed(object sender, ExpandedAndCollapsedEventArgs e)
{
label.Text = "Burger and Pizza";
expander.Header.BackgroundColor = Color.Aqua;
}
Collapsing
This event occurs while an SfExpander is collapsing when tapping on the Header. It is possible to cancel the collapsing action using the System.ComponentModel.CancelEventArgs.Cancel property in the event args.
Declaration
public event EventHandler<ExpandingAndCollapsingEventArgs> Collapsing
Event Type
| Type |
|---|
| System.EventHandler<ExpandingAndCollapsingEventArgs> |
Remarks
The user can control the expanding of content by using ExpandingAndCollapsingEventArgs of this event. If the Cancel property is set to true in the event's handler, the execution of the current event is cancelled.
Examples
expander.Collapsing += Expander_Collapsing;
private void Expander_Collapsing(object sender, ExpandingAndCollapsingEventArgs e)
{
// Below code cancels the collapsing operation of the SfExpander control.
e.Cancel = true;
}
Expanded
This event occurs after an SfExpander is expanded when tapping on the Header.
Declaration
public event EventHandler<ExpandedAndCollapsedEventArgs> Expanded
Event Type
| Type |
|---|
| System.EventHandler<ExpandedAndCollapsedEventArgs> |
Remarks
The event handler receives an argument of type ExpandingAndCollapsingEventArgs containing data related to this event.
Examples
expander.Expanded += Expander_Expanded;
private void Expander_Expanded(object sender, ExpandedAndCollapsedEventArgs e)
{
label.Text = "Burger";
expander.Header.BackgroundColor = Color.YellowGreen;
}
Expanding
This event occurs while an SfExpander is expanding when tapping on the Header. It is possible to cancel the expanding action using the System.ComponentModel.CancelEventArgs.Cancel property in the event args.
Declaration
public event EventHandler<ExpandingAndCollapsingEventArgs> Expanding
Event Type
| Type |
|---|
| System.EventHandler<ExpandingAndCollapsingEventArgs> |
Remarks
The user can control the expanding of content by using ExpandingAndCollapsingEventArgs of this event. If the Cancel property is set to true in the event's handler, the execution of the current event is cancelled.
Examples
expander.Expanding += Expander_Expanding;
private void Expander_Expanding(object sender, ExpandingAndCollapsingEventArgs e)
{
// Below code cancels the expanding operation of the SfExpander control.
e.Cancel = true;
}