internal void UpdateWith(ItemFeed feed)
 {
     if (feed != null)
     {
         SetCurrentValue(ContentProperty, feed.IconContent);
         SetCurrentValue(TextProperty, feed.Label);
         SetCurrentValue(CommandProperty, feed.Command);
         SetCurrentValue(ToolTipProperty, feed.Tooltip);
     }
 }
Exemple #2
0
        private void CacheHamburgerMenuItems()
        {
            foreach (var item in Items)
            {
                HamburgerMenuItem menuItem = null;
                if (item is HamburgerMenuItem)
                {
                    menuItem = item as HamburgerMenuItem;
                    if ((int)menuItem.IconWidth == 0)
                    {
                        menuItem.IconWidth = CompactPaneWidth;
                    }

                    if (ItemsSource == null || !ItemsSource.GetEnumerator().MoveNext())
                    {
                        var newFeed = new ItemFeed
                        {
                            Command     = menuItem.Command,
                            IconContent = menuItem.Content,
                            Tooltip     = menuItem.ToolTip,
                            Label       = menuItem.Text,
                            Key         = menuItem.GetHashCode()
                        };

                        Feeds.Add(newFeed);
                    }
                }
                else
                {
                    menuItem = (HamburgerMenuItem)ItemContainerGenerator.ContainerFromItem(item);
                }

                menuItem.BarBrush = BarBrush;
                itemController.AddItem(menuItem);
            }
        }