using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using SparkClient.ViewModel.Configuration;

namespace SparkClient.Views.Configuration;

public partial class ConfigMenuPage 
{
    private Window parentWindow;
    public ConfigMenuPage()
    {
        InitializeComponent();
        DataContext = new ConfigMenuPageVM();
    }
    
    private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
    {
        // 鼠标进入时更改背景色
        if (sender is Border border)
        {
            border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
        }
    }
    private void Border_Close_MouseEnter(object sender, MouseEventArgs e)
    {
        // 鼠标进入时更改背景色
        if (sender is Border border)
        {
            border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
        }
    }
    private void Border_MouseLeave(object sender, MouseEventArgs e)
    {
        // 鼠标离开时恢复背景色
        if (sender is Border border)
        {
            border.Background = new SolidColorBrush(Colors.Transparent);
        }
    }
    
    private void Minimize_Click(object sender, MouseButtonEventArgs e)
    {
        //this.WindowState = WindowState.Minimized;
        if(parentWindow != null)parentWindow.WindowState = WindowState.Minimized;
    }
    
    private void Close_Click(object sender, MouseButtonEventArgs e)
    {
        parentWindow.Close();
    }
    
    private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        if (e.LeftButton == MouseButtonState.Pressed)
        {
            try
            {
                // this.DragMove();
            }
            catch (InvalidOperationException ex)
            {
               
            }
        }
    }


    private void ConfigMenuPage_OnLoaded(object sender, RoutedEventArgs e)
    {
        parentWindow = Window.GetWindow(this);
    }
}