Example #1
0
        public VMCompositionRoot()
        {
            var offsetCoordFactory =
                new Func <(CoordinateVM modelPos, Point offset), OffsetCoordinate>(
                    (args) =>
                    new OffsetCoordinate(
                        args.modelPos,
                        new Coordinate(args.offset)));

            var layout = new Layout(() => new Path());

            LayoutVM = new LayoutVM(
                layout,
                (path) => new PathVM(path, _viewPort));

            BackgroundGridVM = new BackgroundGridVM(
                _viewPort,
                (data) =>
                data.isHorizontal ?
                new GridLineVM(
                    new CoordinateVM(
                        new Coordinate(new Point {
                X = _viewPort.Location.X, Y = data.modelCoord
            }),
                        _viewPort),
                    new CoordinateVM(
                        new Coordinate(new Point {
                X = _viewPort.ModelSpaceBottomRight.X, Y = data.modelCoord
            }),
                        _viewPort),
                    data.isHorizontal,
                    offsetCoordFactory) :
                new GridLineVM(
                    new CoordinateVM(
                        new Coordinate(new Point {
                X = data.modelCoord, Y = _viewPort.Location.Y
            }),
                        _viewPort),
                    new CoordinateVM(
                        new Coordinate(new Point {
                X = data.modelCoord, Y = _viewPort.ModelSpaceBottomRight.Y
            }),
                        _viewPort),
                    data.isHorizontal,
                    offsetCoordFactory),
                LayoutVM);


            ToolBarVM = new ToolBarVM(BackgroundGridVM);
        }
Example #2
0
 public ToolBarVM(BackgroundGridVM backgroundGridVM)
 {
     _backgroundGridVM = backgroundGridVM;
 }