优化拾色器

This commit is contained in:
liufei
2022-05-23 17:52:35 +08:00
parent 09ab951ccd
commit ddabf0a113
6 changed files with 67 additions and 44 deletions

View File

@@ -13,7 +13,7 @@ namespace GeekDesk.Control.Windows
/// </summary>
public partial class GlobalColorPickerWindow : IWindowCommon
{
PixelColorPickerWindow colorPickerWindow;
PixelColorPickerWindow colorPickerWindow = null;
public GlobalColorPickerWindow()
{
this.Topmost = true;
@@ -60,10 +60,12 @@ namespace GeekDesk.Control.Windows
private void MyColorPicker_Checked(object sender, RoutedEventArgs e)
{
{
this.Hide();
colorPickerWindow = new PixelColorPickerWindow(MyColorPicker);
if (colorPickerWindow == null || !colorPickerWindow.Activate())
{
colorPickerWindow = new PixelColorPickerWindow(MyColorPicker);
}
colorPickerWindow.Show();
}
@@ -73,6 +75,22 @@ namespace GeekDesk.Control.Windows
}
private static System.Windows.Window window = null;
public static void CreateNoShow()
{
if (window == null || !window.Activate())
{
window = new GlobalColorPickerWindow();
}
window.Hide();
GlobalColorPickerWindow thisWindow = (GlobalColorPickerWindow)window;
if (thisWindow.colorPickerWindow == null || !thisWindow.colorPickerWindow.Activate())
{
thisWindow.colorPickerWindow = new PixelColorPickerWindow(thisWindow.MyColorPicker);
}
thisWindow.colorPickerWindow.Show();
}
public static void Show()
{
if (window == null || !window.Activate())
@@ -83,6 +101,20 @@ namespace GeekDesk.Control.Windows
Keyboard.Focus(window);
}
public static void ShowOrHide()
{
if (window == null || !window.Activate())
{
window = new GlobalColorPickerWindow();
window.Show();
Keyboard.Focus(window);
}
else
{
window.Close();
}
}
private void MyColorPicker_SelectedColorChanged(object sender, HandyControl.Data.FunctionEventArgs<Color> e)
{
Show();