Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
 private void RootViewButton_Click(object sender, RoutedEventArgs e)
 {
     OnRestoreRootView?.Invoke(Current);
 }