private void DisplayStartMenuItem(Model.IMenuItem menuItem)
        {
            var panel = this.factory.Create(menuItem);

            this.stackPanel.Children.Add(panel);
            this.panels.Add(panel);
        }
        public StackPanel Create(Model.IMenuItem item)
        {
            Image image = null;

            using (var icon = item.LoadIcon())
            {
                image = CreateImage(icon);
            }
            var panel = new StackPanel();

            panel.Orientation = Orientation.Vertical;
            panel.Children.Add(image);
            panel.Opacity = DEFAULT_OPACITY;

            var label = CreateLabel(item.Label);

            panel.Children.Add(label);
            panel.Tag = this.count++;
            return(panel);
        }
 public void AddItem(Model.IMenuItem menuItem)
 {
     this.Dispatcher.Invoke(new Action(() => this.DisplayStartMenuItem(menuItem)));
 }