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; }