using Avalonia.Controls; using Avalonia.Markup.Xaml; using Avalonia.Controls.Primitives; using Microsoft.Extensions.Logging; using MyAvaloniaApp.ViewModels; using System; using Avalonia.Input; namespace MyAvaloniaApp; public partial class MainWindow : Window { private readonly ILogger? _logger; /// /// 无参构造函数,用于 XAML 设计器 /// public MainWindow() { InitializeComponent(); SetupWindowControls(); } /// /// 构造函数,接受依赖注入的 ViewModel /// /// 主窗口的 ViewModel /// 日志记录器 public MainWindow(MainWindowViewModel viewModel, ILogger? logger = null) { _logger = logger; InitializeComponent(); DataContext = viewModel; SetupWindowControls(); _logger?.LogInformation("MainWindow 已创建,ViewModel 已设置"); } /// /// 设置窗口控制按钮事件 /// private void SetupWindowControls() { // 设置标题栏拖动功能 var titleBarGrid = this.FindControl("TitleBarGrid"); if (titleBarGrid != null) { titleBarGrid.PointerPressed += OnTitleBarPointerPressed; } // 最小化按钮 var minimizeButton = this.FindControl