Beispiel #1
0
        public InkDrawPage()
        {
            InitializeComponent();
            SetNavigationViewHeaderContext();
            SetNavigationViewHeaderTemplate();

            Loaded += (sender, eventArgs) =>
            {
                SetCanvasSize();

                var strokeService             = new InkStrokesService(inkCanvas.InkPresenter);
                var selectionRectangleService = new InkSelectionRectangleService(inkCanvas, selectionCanvas, strokeService);

                ViewModel.Initialize(
                    strokeService,
                    new InkLassoSelectionService(inkCanvas, selectionCanvas, strokeService, selectionRectangleService),
                    new InkPointerDeviceService(inkCanvas),
                    new InkCopyPasteService(strokeService),
                    new InkUndoRedoService(inkCanvas, strokeService),
                    new InkFileService(inkCanvas, strokeService),
                    new InkZoomService(canvasScroll));
            };
        }
        public void Initialize(
            InkStrokesService strokeService,
            InkLassoSelectionService lassoSelectionService,
            InkNodeSelectionService nodeSelectionService,
            InkPointerDeviceService pointerDeviceService,
            InkUndoRedoService undoRedoService,
            InkTransformService transformService,
            InkFileService fileService)
        {
            _strokeService         = strokeService;
            _lassoSelectionService = lassoSelectionService;
            _nodeSelectionService  = nodeSelectionService;
            _pointerDeviceService  = pointerDeviceService;
            _undoRedoService       = undoRedoService;
            _transformService      = transformService;
            _fileService           = fileService;

            _strokeService.ClearStrokesEvent       += (s, e) => RefreshCommands();
            _undoRedoService.UndoEvent             += (s, e) => RefreshCommands();
            _undoRedoService.RedoEvent             += (s, e) => RefreshCommands();
            _undoRedoService.AddUndoOperationEvent += (s, e) => RefreshCommands();
            _pointerDeviceService.DetectPenEvent   += (s, e) => EnableTouch = false;
        }
Beispiel #3
0
        public InkDrawPicturePage()
        {
            InitializeComponent();
            Loaded += (sender, eventArgs) =>
            {
                SetCanvasSize();
                image.SizeChanged += Image_SizeChanged;

                strokesService       = new InkStrokesService(inkCanvas.InkPresenter);
                pointerDeviceService = new InkPointerDeviceService(inkCanvas);
                fileService          = new InkFileService(inkCanvas, strokesService);
                zoomService          = new InkZoomService(canvasScroll);

                touchInkingButton.IsChecked          = true;
                mouseInkingButton.IsChecked          = true;
                strokesService.StrokesCollected     += (s, e) => RefreshEnabledButtons();
                strokesService.StrokesErased        += (s, e) => RefreshEnabledButtons();
                strokesService.ClearStrokesEvent    += (s, e) => RefreshEnabledButtons();
                pointerDeviceService.DetectPenEvent += (s, e) => touchInkingButton.IsChecked = false;

                RefreshEnabledButtons();
            };
        }
        public InkSmartCanvasPage()
        {
            InitializeComponent();
            SetNavigationViewHeaderContext();
            SetNavigationViewHeaderTemplate();

            Loaded += (sender, eventArgs) =>
            {
                SetCanvasSize();

                var strokeService             = new InkStrokesService(inkCanvas.InkPresenter);
                var analyzer                  = new InkAsyncAnalyzer(inkCanvas, strokeService);
                var selectionRectangleService = new InkSelectionRectangleService(inkCanvas, selectionCanvas, strokeService);

                ViewModel.Initialize(
                    strokeService,
                    new InkLassoSelectionService(inkCanvas, selectionCanvas, strokeService, selectionRectangleService),
                    new InkNodeSelectionService(inkCanvas, selectionCanvas, analyzer, strokeService, selectionRectangleService),
                    new InkPointerDeviceService(inkCanvas),
                    new InkUndoRedoService(inkCanvas, strokeService),
                    new InkTransformService(drawingCanvas, strokeService),
                    new InkFileService(inkCanvas, strokeService));
            };
        }