using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Net.Http;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using BetterGenshinImpact.ViewModel.Windows.GearTask;
using BetterGenshinImpact.ViewModel.Pages.Component;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using Wpf.Ui.Controls;
using Wpf.Ui.Violeta.Controls;
using Image = SixLabors.ImageSharp.Image;
namespace BetterGenshinImpact.View.Windows.GearTask;
///
/// 地图追踪任务选择窗口
///
public partial class PathingTaskSelectionWindow : FluentWindow
{
///
/// ViewModel
///
public PathingTaskSelectionViewModel ViewModel { get; }
///
/// 选中的任务
///
public PathingTaskInfo? SelectedTask { get; private set; }
///
/// 选中的任务
///
public GearTaskViewModel? SelectedGearTask { get; private set; }
///
/// 对话框结果
///
public bool DialogResult { get; private set; }
///
/// 目录到符号图标的转换器
///
public static readonly DirectoryToSymbolConverter DirectoryToSymbolConverter = new();
public PathingTaskSelectionWindow()
{
ViewModel = new PathingTaskSelectionViewModel();
DataContext = ViewModel;
InitializeComponent();
// 绑定TreeView的选中项变化事件
TaskTreeView.SelectedItemChanged += OnTreeViewSelectedItemChanged;
// 订阅任务添加事件
ViewModel.OnTaskAdded += OnTaskAdded;
}
///
/// 任务添加事件处理
///
private void OnTaskAdded(GearTaskViewModel? task)
{
SelectedGearTask = task;
// 添加任务后自动关闭窗口
CloseWithResult();
}
///
/// TreeView选中项变化事件处理
///
private void OnTreeViewSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs