Beispiel #1
0
        public CanvasWindowGestureView(GestureParser gestureParser)
        {
            _gestureParser = gestureParser;
            RegisterEventHandlers();

            //提前申请一次内存,避免开始画手势时延迟
            //_bitmap = new DiBitmap(_screenBounds.Size);
            //_bitmap = null;

            new Thread(() =>
            {
                _canvasWindow = new CanvasWindow()
                {
                    //最初的时候放在屏幕以外
                    Visible     = false,
                    IgnoreInput = true,
                    NoActivate  = true,
                    TopMost     = true
                };
                _canvasWindow.ShowDialog();
            })
            {
                Name = "CanvasWindow线程"
            }.Start();

            Thread.Sleep(50);

            InitDefaultProperties();

            _fadeOuTimer.Elapsed += OnFadeOutTimerElapsed;

            SystemEvents.DisplaySettingsChanged += SystemDisplaySettingsChanged;
        }
        public CanvasWindowGestureView(GestureParser gestureParser)
        {
            _gestureParser = gestureParser;
            RegisterEventHandlers();
            var waitCanvasWindow = new AutoResetEvent(false);

            new Thread(() =>
            {
                _canvasWindow = new CanvasWindow()
                {
                    //最初的时候放在屏幕以外
                    Visible     = false,
                    IgnoreInput = true,
                    NoActivate  = true,
                    TopMost     = true
                };
                waitCanvasWindow.Set();
                _canvasWindow.ShowDialog();
            })
            {
                Name = "CanvasWindow"
            }.Start();

            waitCanvasWindow.WaitOne();

            InitDefaultProperties();
            _fadeOuTimer.Elapsed += OnFadeOutTimerElapsed;
            SystemEvents.DisplaySettingsChanged += SystemDisplaySettingsChanged;
        }