public IShape LoadShape([NotNull] XElement root, [NotNull] IShapeContent shapeContent)
        {
            Assert.ArgumentNotNull(root, nameof(root));
            Assert.ArgumentNotNull(shapeContent, nameof(shapeContent));

            var result = CreateShape(shapeContent);

            result.Load(root);

            return(result);
        }
Example #2
0
        public DesignSurfaceShape([NotNull] IShapeContent shapeContent)
        {
            Assert.ArgumentNotNull(shapeContent, nameof(shapeContent));

            InitializeComponent();

            this.shapeContent = shapeContent;

            HeaderText.Text   = shapeContent.Header;
            Presenter.Content = this.shapeContent;
        }
        public IShape CreateShape([NotNull] IShapeContent shapeContent)
        {
            Assert.ArgumentNotNull(shapeContent, nameof(shapeContent));

            Empty.Visibility  = Visibility.Collapsed;
            Canvas.Visibility = Visibility.Visible;

            var result = new DesignSurfaceShape(shapeContent);

            Canvas.Children.Add(result);

            var header = result.HeaderGrid;

            header.AddHandler(MouseLeftButtonDownEvent, (MouseButtonEventHandler)HandleLeftButtonDown, true);
            header.MouseMove         += HandleMouseMove;
            header.MouseLeftButtonUp += HandleLeftButtonUp;

            shapeContent.Initialize(result);

            return(result);
        }