private static void AddSubItems(MenuItem menuItem) { MenuItem openCacheFolderMenuItem = new MenuItem(); openCacheFolderMenuItem.Header = GisEditor.LanguageManager.GetStringResource("LayerListMenuItemHelperWindowOpencachefolderContent"); openCacheFolderMenuItem.Icon = new Image() { Source = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/openfolder.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; openCacheFolderMenuItem.Click += (s, e) => { if (GisEditor.LayerListManager.SelectedLayerListItem == null) { return; } TileOverlay overlay = GisEditor.LayerListManager.SelectedLayerListItem.ConcreteObject as TileOverlay; if (overlay != null) { overlay.OpenCacheDirectory(); } }; MenuItem clearCacheMenuItem = new MenuItem(); clearCacheMenuItem.Header = GisEditor.LanguageManager.GetStringResource("LayerListMenuItemHelperWindowClearcacheContent"); clearCacheMenuItem.Icon = new Image() { Source = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/clearcache.png", UriKind.RelativeOrAbsolute)), Width = 16, Height = 16 }; clearCacheMenuItem.Click += (s, e) => { if (GisEditor.LayerListManager.SelectedLayerListItem == null) { return; } TileOverlay overlay = GisEditor.LayerListManager.SelectedLayerListItem.ConcreteObject as TileOverlay; if (overlay != null) { overlay.ClearCaches(); } }; menuItem.Items.Add(openCacheFolderMenuItem); menuItem.Items.Add(clearCacheMenuItem); }