private void RemoveLayer(LayerItem layer) { if (Current.Layers.Remove(layer.Item)) { Current.LayerLookup.Remove(layer.Item.Id); Current.Layers.Remove(layer.Item); LayerStack.Children.Remove(layer); if (layer.State == LayerItemState.SelectedViewing || layer.State == LayerItemState.Viewing) { OnRestoreRootView?.Invoke(Current); } Current.Modified = true; Current?.CombineLayers(); OnRemoveLayer?.Invoke(layer.Item); layer.Item?.Dispose(); layer.OnSelect -= Item_OnSelect; layer.OnView -= Item_OnView; if (Selected == layer) { DeleteLayerButton.IsEnabled = false; BlendModeDropDown.IsEnabled = false; OpacitySlider.IsEnabled = false; Selected = null; } } }
private void Remove_Click(object sender, System.Windows.RoutedEventArgs e) { OnRemoveLayer?.Invoke(_source); }