diff options
Diffstat (limited to 'Xamarin.Forms.Core/Toolbar.cs')
-rw-r--r-- | Xamarin.Forms.Core/Toolbar.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/Toolbar.cs b/Xamarin.Forms.Core/Toolbar.cs new file mode 100644 index 00000000..4405d1f6 --- /dev/null +++ b/Xamarin.Forms.Core/Toolbar.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using Xamarin.Forms.Platform; + +namespace Xamarin.Forms +{ + // Marked as internal for 1.0 release until we are ready to release this + [RenderWith(typeof(_ToolbarRenderer))] + internal class Toolbar : View + { + readonly List<ToolbarItem> _items = new List<ToolbarItem>(); + + public ReadOnlyCollection<ToolbarItem> Items + { + get { return new ReadOnlyCollection<ToolbarItem>(_items); } + } + + public void Add(ToolbarItem item) + { + if (_items.Contains(item)) + return; + _items.Add(item); + if (ItemAdded != null) + ItemAdded(this, new ToolbarItemEventArgs(item)); + } + + public void Clear() + { + _items.Clear(); + } + + public event EventHandler<ToolbarItemEventArgs> ItemAdded; + + public event EventHandler<ToolbarItemEventArgs> ItemRemoved; + + public void Remove(ToolbarItem item) + { + if (_items.Remove(item)) + { + if (ItemRemoved != null) + ItemRemoved(this, new ToolbarItemEventArgs(item)); + } + } + } +}
\ No newline at end of file |