You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
4.1 KiB

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using SparkClient.ViewModel.BaseWindow;
using MessageBox = SparkClient.Views.Dialog.MessageBox;
namespace SparkClient.Views.BaseWindow;
public partial class HomeWindow
{
private Window parentWindow;
public HomeWindow()
{
InitializeComponent();
}
private void UIElement_OnMouseLeave(object sender, MouseEventArgs e)
{
if (sender is Border border)
{
var gradientBrush = new RadialGradientBrush();
// 设置渐变起始点和中心点
gradientBrush.GradientOrigin = new Point(0.5, 0.5); // 中心点
gradientBrush.Center = new Point(0.5, 0.5);
// 设置渐变半径
gradientBrush.RadiusX = 0.5;
gradientBrush.RadiusY = 0.5;
// 添加渐变颜色
gradientBrush.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FF4C4D4F"), 0.0)); // 内部颜色
gradientBrush.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FF944703"), 2.0)); // 外部颜色
// 应用到 Border 的背景
border.Background = gradientBrush;
//border.Background = new SolidColorBrush(Colors.Transparent);
}
}
private void UIElement_OnMouseEnter(object sender, MouseEventArgs e)
{
if (sender is Border border)
{
var gradientBrush = new RadialGradientBrush();
// 设置渐变起始点和中心点
gradientBrush.GradientOrigin = new Point(0.5, 0.5); // 中心点
gradientBrush.Center = new Point(0.5, 0.5);
// 设置渐变半径
gradientBrush.RadiusX = 0.5;
gradientBrush.RadiusY = 0.5;
// 添加渐变颜色
gradientBrush.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FF4C4D4F"), 0.0)); // 内部颜色
gradientBrush.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FF944703"), 1.0)); // 外部颜色
// 应用到 Border 的背景
border.Background = gradientBrush;
// border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
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 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 HomeWindow_OnLoaded(object sender, RoutedEventArgs e)
{
parentWindow = Window.GetWindow(this);
}
// private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
// {
// string sss;
// var res = new MessageBox().ShowInput("heihei?", out sss);
// }
}