This sample app contains a random mixture of Xamarin/Xamarin.Forms controls, views, and functionality snippets that I've created.
- ToggleButton
- Checkbox
- Checkbox List
- Collapsible/Expandable (Accordion) List
- Editable Label
- ListView with TappedCommand
- ListView with Infinite Scroll
- RadioButtonList
- TabControl with Collapsible/Expandable capabilities
A ToggleButton
is a control that allows for switching back and forth between images (e.g. 'checked' and 'unchecked' below). ToggleButton
inherits from Xamarin.Forms.Button
.
<controls:ToggleButton
x:Name="toggleButton"
CheckedImage="checked"
UnCheckedImage="unchecked"
Enabled="true"
Animate="false"
Command="{Binding Source={x:Reference CheckboxControl}, Path=CheckedCommand }" />
The Checkbox
control is essentially a StackLayout
that contains a ToggleButton
and Label
.
<controls:Checkbox Text="{Binding CheckboxTitle}"
IsChecked="{Binding IsChecked}"
CheckedCommand="{Binding OnCheckedCommand}" />
Coming Soon: Overridable SkiaSharp (default) implementations for Checked/Unchecked states in place of where images are currently required. This will eliminate the need for any platform additions (images).
The CheckboxList
control inherits from Xamarin.Forms.ListView
and contains a list of Checkbox
controls. It allows you to bind a collection of ISelectableItem
object implementations, and maintain a list of selected items. CheckboxList
contains events and commands observing changes to the CheckboxList
items.
<controls:CheckboxList ItemsSource="{Binding Items}"
SelectedItems="{Binding SelectedItems}" />
Note: The CheckboxList
control also contains functionality for selecting/de-selecting all of the checkboxes in the list. (Documentation and samples coming soon for this).
(Coming soon!)
(Coming soon!)
(Coming soon!)
(Coming soon!)
The RadioButtonList
inherits from StackLayout
, and contains a list of RadioButton
controls. The ItemsSource
property within the RadioButtonList
expects IEnumerable<string>
. The collection of strings is used to create the RadioButton
items contained within the RadioButtonList
.
<controls:RadioButtonList ItemsSource="{Binding Items}" ItemSelectedCommand="{Binding ItemSelectedCommand}" />
Note: The RadioButton
control requires custom renderering within the iOS and Android projects.
Coming Soon: I will be expanding the functionality of the to allow for more options (i.e. pre-selecting radio button items, custom selected/unselected formatting, etc.)
(Coming soon!)