예제 #1
0
        public InkSmartCanvasViewPage()
        {
            InitializeComponent();

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

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

                lassoSelectionService = new InkLassoSelectionService(inkCanvas, selectionCanvas, strokeService, selectionRectangleService);
                nodeSelectionService  = new InkNodeSelectionService(inkCanvas, selectionCanvas, analyzer, strokeService, selectionRectangleService);
                pointerDeviceService  = new InkPointerDeviceService(inkCanvas);
                undoRedoService       = new InkUndoRedoService(inkCanvas, strokeService);
                transformService      = new InkTransformService(drawingCanvas, strokeService);
                fileService           = new InkFileService(inkCanvas, strokeService);

                strokeService.ClearStrokesEvent       += (s, e) => RefreshEnabledButtons();
                undoRedoService.UndoEvent             += (s, e) => RefreshEnabledButtons();
                undoRedoService.RedoEvent             += (s, e) => RefreshEnabledButtons();
                undoRedoService.AddUndoOperationEvent += (s, e) => RefreshEnabledButtons();
                pointerDeviceService.DetectPenEvent   += (s, e) => TouchInkingButtonIsChecked = false;
            };
        }
예제 #2
0
        public SmartCanvasViewModel(
            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;

            pointerDeviceService.DetectPenEvent += (s, e) => EnableTouch = false;
        }
        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) => RefreshActions();
            _undoRedoService.UndoEvent             += (s, e) => RefreshActions();
            _undoRedoService.RedoEvent             += (s, e) => RefreshActions();
            _undoRedoService.AddUndoOperationEvent += (s, e) => RefreshActions();
            _pointerDeviceService.DetectPenEvent   += (s, e) => EnableTouch = false;
        }