Example #1
0
        public CurveEditorViewModel([NotNull] IViewModelServiceProvider serviceProvider, [NotNull] SessionViewModel session)
            : base(serviceProvider.SafeArgument(nameof(serviceProvider)))
        {
            if (session == null)
            {
                throw new ArgumentNullException(nameof(session));
            }
            Session = session;

            AddPointCommand             = new AnonymousCommand <WindowsPoint>(serviceProvider, AddPoint);
            ClearCurveCommand           = new AnonymousCommand(serviceProvider, ClearSelectedCurve);
            DeleteSelectedPointsCommand = new AnonymousCommand(serviceProvider, DeleteSelectedPoints);
            FocusCommand = new AnonymousCommand(serviceProvider, Focus);
            NavigateToControlPointCommand = new AnonymousCommand <int>(serviceProvider, NavigateToControlPoint);
            PreviewClickCommand           = new AnonymousCommand <WindowsPoint>(serviceProvider, Click);
            RemoveSelectedCurveCommand    = new AnonymousCommand(serviceProvider, RemoveSelectedCurve);
            ResetViewCommand = new AnonymousCommand <int>(serviceProvider, ResetAxes);
            SelectCommand    = new AnonymousCommand <WindowsRect>(serviceProvider, Select);

            SelectedControlPoints.CollectionChanged += SelectedControlPointsCollectionChanged;

            InitializeRendering();
        }