diff options
Diffstat (limited to 'Xamarin.Forms.Core/ToolbarItem.cs')
-rw-r--r-- | Xamarin.Forms.Core/ToolbarItem.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/ToolbarItem.cs b/Xamarin.Forms.Core/ToolbarItem.cs new file mode 100644 index 00000000..0a0a2e05 --- /dev/null +++ b/Xamarin.Forms.Core/ToolbarItem.cs @@ -0,0 +1,57 @@ +using System; + +namespace Xamarin.Forms +{ + public class ToolbarItem : MenuItem + { + static readonly BindableProperty OrderProperty = BindableProperty.Create("Order", typeof(ToolbarItemOrder), typeof(ToolbarItem), ToolbarItemOrder.Default, validateValue: (bo, o) => + { + var order = (ToolbarItemOrder)o; + return order == ToolbarItemOrder.Default || order == ToolbarItemOrder.Primary || order == ToolbarItemOrder.Secondary; + }); + + static readonly BindableProperty PriorityProperty = BindableProperty.Create("Priority", typeof(int), typeof(ToolbarItem), 0); + + public ToolbarItem() + { + } + + public ToolbarItem(string name, string icon, Action activated, ToolbarItemOrder order = ToolbarItemOrder.Default, int priority = 0) + { + if (activated == null) + throw new ArgumentNullException("activated"); + + Text = name; + Icon = icon; + Clicked += (s, e) => activated(); + Order = order; + Priority = priority; + } + + [Obsolete("Now that ToolbarItem is based on MenuItem, .Text has replaced .Name")] + public string Name + { + get { return Text; } + set { Text = value; } + } + + public ToolbarItemOrder Order + { + get { return (ToolbarItemOrder)GetValue(OrderProperty); } + set { SetValue(OrderProperty, value); } + } + + public int Priority + { + get { return (int)GetValue(PriorityProperty); } + set { SetValue(PriorityProperty, value); } + } + + [Obsolete("Activated has been replaced by the more consistent 'Clicked'")] + public event EventHandler Activated + { + add { Clicked += value; } + remove { Clicked -= value; } + } + } +}
\ No newline at end of file |