switch (SelectionMode)
{
- case ItemSelectionMode.SingleSelection:
+ case ItemSelectionMode.Single:
+ case ItemSelectionMode.SingleAlways:
if (item.BindingContext != null && item.BindingContext == SelectedItem)
{
item.IsSelected = true;
}
break;
- case ItemSelectionMode.MultipleSelections:
+ case ItemSelectionMode.Multiple:
if ((item.BindingContext != null) && (SelectedItems?.Contains(item.BindingContext) ?? false))
{
item.IsSelected = true;
{
case ItemSelectionMode.None:
break;
- case ItemSelectionMode.SingleSelection:
+ case ItemSelectionMode.Single:
if (colView.SelectedItem != null)
{
previousSelection.Add(colView.SelectedItem);
}
break;
- case ItemSelectionMode.MultipleSelections:
+ case ItemSelectionMode.Multiple:
previousSelection = colView.SelectedItems;
break;
}
{
case ItemSelectionMode.None:
break;
- case ItemSelectionMode.SingleSelection:
+ case ItemSelectionMode.Single:
if (colView.SelectedItem != null)
{
newSelection.Add(colView.SelectedItem);
}
break;
- case ItemSelectionMode.MultipleSelections:
+ case ItemSelectionMode.Multiple:
newSelection = colView.SelectedItems;
break;
}
CollectionView colView = ParentItemsView as CollectionView;
switch (colView.SelectionMode)
{
- case ItemSelectionMode.SingleSelection:
+ case ItemSelectionMode.Single:
colView.SelectedItem = IsSelected ? null : BindingContext;
break;
- case ItemSelectionMode.MultipleSelections:
+ case ItemSelectionMode.SingleAlways:
+ if (colView.SelectedItem != BindingContext)
+ {
+ colView.SelectedItem = BindingContext;
+ }
+ break;
+ case ItemSelectionMode.Multiple:
var selectedItems = colView.SelectedItems;
if (selectedItems.Contains(BindingContext)) selectedItems.Remove(BindingContext);
else selectedItems.Add(BindingContext);
CollectionView colView = ParentItemsView as CollectionView;
switch (colView.SelectionMode)
{
- case ItemSelectionMode.SingleSelection:
+ case ItemSelectionMode.Single:
colView.SelectedItem = IsSelected ? null : BindingContext;
break;
- case ItemSelectionMode.MultipleSelections:
+ case ItemSelectionMode.SingleAlways:
+ if (colView.SelectedItem != BindingContext)
+ colView.SelectedItem = BindingContext;
+ break;
+ case ItemSelectionMode.Multiple:
var selectedItems = colView.SelectedItems;
if (selectedItems.Contains(BindingContext)) selectedItems.Remove(BindingContext);
else selectedItems.Add(BindingContext);
*/
using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
namespace Tizen.NUI.Components
{
/// Selection mode of CollecitonView.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
+ [SuppressMessage("Microsoft.Naming",
+ "CA1720: Identifiers should not contain type names",
+ Justification = "Single is the member of enum ItemSelectionMode. there are no possible danger to miss using Single Identifiers.")]
public enum ItemSelectionMode
{
/// <summary>
/// Single selection. select item exclusively so previous selected item will be unselected.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- SingleSelection,
+ Single,
+ /// <summary>
+ /// Single selection always. select item exclusively but selection is always exist after being selected.
+ /// to deselect item, clear selection forcely.
+ /// </summary>
+ /// <since_tizen> 9 </since_tizen>
+ SingleAlways,
/// <summary>
/// Multiple selections. select multiple items and previous selected item still remains selected.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- MultipleSelections
+ Multiple
}
}
gallerySource.Insert(0, deleteMenu);
gallerySource.Insert(0, insertMenu);
- selMode = ItemSelectionMode.MultipleSelections;
+ selMode = ItemSelectionMode.Multiple;
DefaultTitleItem myTitle = new DefaultTitleItem();
myTitle.Text = "Grid Sample Count["+itemCount+"]";
//Set Width Specification as MatchParent to fit the Item width with parent View.
//Decorate Badge checkbox.
//[NOTE] This is sample of CheckBox usage in CollectionView.
// Checkbox change their selection by IsSelectedProperty bindings with
- // SelectionChanged event with MulitpleSelections ItemSelectionMode of CollectionView.
+ // SelectionChanged event with Mulitple ItemSelectionMode of CollectionView.
item.Badge = new CheckBox();
//FIXME : SetBinding in RadioButton crashed as Sensitive Property is disposed.
//item.Badge.SetBinding(CheckBox.IsSelectedProperty, "Selected");
gallerySource.Insert(0, deleteMenu);
gallerySource.Insert(0, insertMenu);
- selMode = ItemSelectionMode.SingleSelection;
+ selMode = ItemSelectionMode.Single;
DefaultTitleItem myTitle = new DefaultTitleItem();
myTitle.Text = "Linear Sample Count["+itemCount+"]";
//Set Width Specification as MatchParent to fit the Item width with parent View.
//Decorate Extra RadioButton.
//[NOTE] This is sample of RadioButton usage in CollectionView.
// RadioButton change their selection by IsSelectedProperty bindings with
- // SelectionChanged event with SingleSelection ItemSelectionMode of CollectionView.
+ // SelectionChanged event with Single ItemSelectionMode of CollectionView.
// be aware of there are no RadioButtonGroup.
item.Extra = new RadioButton();
//FIXME : SetBinding in RadioButton crashed as Sensitive Property is disposed.
insertDeleteGroup.Add(deleteMenu);
albumSource.Insert(0, insertDeleteGroup);
- selMode = ItemSelectionMode.MultipleSelections;
+ selMode = ItemSelectionMode.Multiple;
DefaultTitleItem myTitle = new DefaultTitleItem();
myTitle.Text = "Grid Sample Count["+ albumSource.Count+"]";
//Set Width Specification as MatchParent to fit the Item width with parent View.
//Decorate Badge checkbox.
//[NOTE] This is sample of CheckBox usage in CollectionView.
// Checkbox change their selection by IsSelectedProperty bindings with
- // SelectionChanged event with MulitpleSelections ItemSelectionMode of CollectionView.
+ // SelectionChanged event with Mulitple ItemSelectionMode of CollectionView.
item.Badge = new CheckBox();
//FIXME : SetBinding in RadioButton crashed as Sensitive Property is disposed.
//item.Badge.SetBinding(CheckBox.IsSelectedProperty, "Selected");
insertDeleteGroup.Add(deleteMenu);
albumSource.Insert(0, insertDeleteGroup);
- selMode = ItemSelectionMode.SingleSelection;
+ selMode = ItemSelectionMode.Single;
DefaultTitleItem myTitle = new DefaultTitleItem();
//To Bind the Count property changes, need to create custom property for count.
myTitle.Text = "Linear Sample Group["+ albumSource.Count+"]";
//Decorate Extra RadioButton.
//[NOTE] This is sample of RadioButton usage in CollectionView.
// RadioButton change their selection by IsSelectedProperty bindings with
- // SelectionChanged event with SingleSelection ItemSelectionMode of CollectionView.
+ // SelectionChanged event with Single ItemSelectionMode of CollectionView.
// be aware of there are no RadioButtonGroup.
item.Extra = new RadioButton();
//FIXME : SetBinding in RadioButton crashed as Sensitive Property is disposed.