diff --git a/Control/Windows/GlobalColorPickerWindow.xaml.cs b/Control/Windows/GlobalColorPickerWindow.xaml.cs index 5045abf..80f69ac 100644 --- a/Control/Windows/GlobalColorPickerWindow.xaml.cs +++ b/Control/Windows/GlobalColorPickerWindow.xaml.cs @@ -81,15 +81,25 @@ namespace GeekDesk.Control.Windows if (window == null || !window.Activate()) { window = new GlobalColorPickerWindow(); + window.Opacity = 0; + App.DoEvents(); window.Show(); } window.Hide(); - GlobalColorPickerWindow thisWindow = (GlobalColorPickerWindow)window; - if (thisWindow.colorPickerWindow == null || !thisWindow.colorPickerWindow.Activate()) + new Thread(() => { - thisWindow.colorPickerWindow = new PixelColorPickerWindow(thisWindow.MyColorPicker); - } - thisWindow.colorPickerWindow.Show(); + Thread.Sleep(200); + App.Current.Dispatcher.Invoke(() => + { + GlobalColorPickerWindow thisWindow = (GlobalColorPickerWindow)window; + if (thisWindow.colorPickerWindow == null || !thisWindow.colorPickerWindow.Activate()) + { + thisWindow.colorPickerWindow = new PixelColorPickerWindow(thisWindow.MyColorPicker); + } + thisWindow.colorPickerWindow.Show(); + }); + }).Start(); + } public static void Show() @@ -98,6 +108,7 @@ namespace GeekDesk.Control.Windows { window = new GlobalColorPickerWindow(); } + window.Opacity = 1; window.Show(); Keyboard.Focus(window); } diff --git a/MainWindow.xaml b/MainWindow.xaml index 1a8c2bd..ba1da4e 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -141,11 +141,9 @@ TextChanged="SearchBox_TextChanged" /> - - + @@ -158,8 +156,10 @@ - + + + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index a5ffd4a..f4cd8b4 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -718,20 +718,10 @@ namespace GeekDesk /// private void ColorPicker(object sender, RoutedEventArgs e) { - TaskbarContextMenu.Visibility = Visibility.Collapsed; - App.DoEvents(); + TaskbarContextMenu.IsOpen = false; GlobalColorPickerWindow.CreateNoShow(); } - /// - /// 防止点击拾色器后无法显示菜单的问题 - /// - /// - /// - private void BarIcon_MouseRightButtonDown(object sender, MouseButtonEventArgs e) - { - TaskbarContextMenu.Visibility = Visibility.Visible; - } private void Window_GotFocus(object sender, RoutedEventArgs e) { @@ -742,5 +732,6 @@ namespace GeekDesk { AppWindowLostFocus(); } + } }