main
 1using System;
 2using System.Windows.Controls;
 3using System.Windows.Media.Imaging;
 4using gorilla.utility;
 5using solidware.financials.windows.ui.views.icons;
 6
 7namespace solidware.financials.windows.ui.views
 8{
 9    static public class MenuItemExtensions
10    {
11        static public MenuItem add(this MenuItem item, string header, Action action)
12        {
13            var menu_item = new MenuItem {Header = header, Command = new SimpleCommand(action)};
14            item.Items.Add(menu_item);
15            return menu_item;
16        }
17
18        static public MenuItem parent(this MenuItem item)
19        {
20            return item.Parent.downcast_to<MenuItem>();
21        }
22
23        static public MenuItem apply_icon(this MenuItem item, UIIcon icon)
24        {
25            var image = new Image();
26            image.Width = 16;
27            image.Height = 16;
28            image.apply_icon(icon);
29            item.Icon = image;
30            return item;
31        }
32
33        static public void apply_icon(this Image image, UIIcon icon)
34        {
35            image.Tag = icon;
36
37            var source = new BitmapImage();
38            source.BeginInit();
39            source.StreamSource = icon.ImageStream();
40            source.EndInit();
41            image.Source = source;
42        }
43    }
44}