示例#1
0
        void AddImageLayerToCanvas(CardImageLayer layer, Canvas canvas)
        {
            Image image;

            if (layer.LayerName == "Placeholder")
            {
                if (layer.PlaceholderWidth == 0)
                {
                    layer.SetPlaceholderDetails();
                }
                image = layer.PlaceImageIntoPlaceholder();
            }
            else
            {
                image = layer.CreateImage();
            }

            canvas.Children.Add(image);
            Panel.SetZIndex(image, layer.Index);
        }
示例#2
0
        public void Replace(CardImageLayer selectedLayer, CardImageLayer newImageLayer, Canvas canvas)
        {
            if (selectedLayer == newImageLayer)
            {
                return;
            }

            selectedLayer.Details.IsSelected = false;
            newImageLayer.Details.IsSelected = true;

            int indexOfExisting = GetIndexOfExisting(selectedLayer);

            if (indexOfExisting < 0)
            {
                return;
            }

            bool imageFound = false;

            for (int i = canvas.Children.Count - 1; i >= 0; i--)
            {
                if (selectedLayer.ImageMatches(canvas.Children[i]))
                {
                    canvas.Children.RemoveAt(i);
                    canvas.Children.Insert(i, newImageLayer.CreateImage());
                    imageFound = true;
                    break;
                }
            }

            if (!imageFound)
            {
                System.Diagnostics.Debugger.Break();
            }

            CardLayers.RemoveAt(indexOfExisting);
            CardLayers.Insert(indexOfExisting, newImageLayer);
        }