summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/ToolbarItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/ToolbarItem.cs')
-rw-r--r--Xamarin.Forms.Core/ToolbarItem.cs57
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