using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using Avalonia.Platform.Storage;
namespace LanMountainDesktop.Launcher.Views;
///
/// 错误调试窗口 - 开发人员专用调试设置
///
public partial class ErrorDebugWindow : Window
{
private string? _selectedHostPath;
///
/// 是否启用了开发模式
///
public bool IsDevModeEnabled { get; private set; }
///
/// 选择的主程序路径
///
public string? SelectedHostPath => _selectedHostPath;
public ErrorDebugWindow()
{
AvaloniaXamlLoader.Load(this);
InitializeComponents();
}
public ErrorDebugWindow(bool devModeEnabled, string? initialPath) : this()
{
IsDevModeEnabled = devModeEnabled;
_selectedHostPath = initialPath;
// 设置初始值
var devModeToggle = this.FindControl("DevModeToggle");
if (devModeToggle is not null)
{
devModeToggle.IsChecked = devModeEnabled;
}
UpdatePathDisplay(initialPath);
}
private void InitializeComponents()
{
// 开发模式开关
var devModeToggle = this.FindControl("DevModeToggle");
if (devModeToggle is not null)
{
devModeToggle.IsCheckedChanged += (s, e) =>
{
IsDevModeEnabled = devModeToggle.IsChecked ?? false;
};
}
// 浏览按钮
var browseButton = this.FindControl