예제 #1
0
        private void Delete_Layer_Click(object sender, RoutedEventArgs e)
        {
            ObservableCollection <DxfLayerExtended> layers = new ObservableCollection <DxfLayerExtended>(LayerList.SelectedItems.OfType <DxfLayerExtended>());

            int index = LayerList.SelectedIndex;

            for (int i = 0; i < layers.Count; i++)
            {
                DxfLayerExtended layer = layers[i];

                if (layer.Name != "0")
                {
                    LayerList.SelectedItems.Remove(layer);
                    LayerCollection.Remove(layer);
                }
                else
                {
                    MessageBox.Show("Cannot Delete Default Layer \"0\"", "Warning");
                }
            }

            if (LayerList.Items.Count > index)
            {
                LayerList.SelectedIndex = index;
            }
            else
            {
                LayerList.SelectedIndex = LayerList.Items.Count - 1;
            }
        }
예제 #2
0
        /// <summary>
        /// Clone layer collection in document for modification
        /// </summary>
        /// <param name="dxfDocument"></param>
        public Layer(netDxf.DxfDocument dxfDocument)
        {
            foreach (netDxf.Tables.Layer layer in dxfDocument.Layers)
            {
                var newLayer = new DxfLayerExtended(layer.Name)
                {
                    IsVisible    = layer.IsVisible,
                    IsFrozen     = layer.IsFrozen,
                    IsLocked     = layer.IsLocked,
                    Plot         = layer.Plot,
                    Color        = layer.Color,
                    Linetype     = layer.Linetype,
                    Lineweight   = layer.Lineweight,
                    Transparency = layer.Transparency,
                };
                LayerCollection.Add(newLayer);
            }
            DataContext = this;

            InitializeComponent();
        }