diff --git a/SpineViewer/ViewModels/Exporters/BaseExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/BaseExporterViewModel.cs index 0c3bbd2..a53c7e8 100644 --- a/SpineViewer/ViewModels/Exporters/BaseExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/BaseExporterViewModel.cs @@ -6,6 +6,7 @@ using Spine; using Spine.Exporters; using SpineViewer.Extensions; using SpineViewer.Resources; +using SpineViewer.ViewModels.MainWindow; using System; using System.Collections; using System.Collections.Generic; diff --git a/SpineViewer/ViewModels/Exporters/CustomFFmpegExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/CustomFFmpegExporterViewModel.cs index 685e84d..f846bd3 100644 --- a/SpineViewer/ViewModels/Exporters/CustomFFmpegExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/CustomFFmpegExporterViewModel.cs @@ -12,6 +12,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; +using SpineViewer.ViewModels.MainWindow; namespace SpineViewer.ViewModels.Exporters { diff --git a/SpineViewer/ViewModels/Exporters/FFmpegVideoExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/FFmpegVideoExporterViewModel.cs index 653dc16..860265c 100644 --- a/SpineViewer/ViewModels/Exporters/FFmpegVideoExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/FFmpegVideoExporterViewModel.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections.Immutable; +using SpineViewer.ViewModels.MainWindow; namespace SpineViewer.ViewModels.Exporters { diff --git a/SpineViewer/ViewModels/Exporters/FrameExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/FrameExporterViewModel.cs index 16b0b0b..f65bee5 100644 --- a/SpineViewer/ViewModels/Exporters/FrameExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/FrameExporterViewModel.cs @@ -6,6 +6,7 @@ using SpineViewer.Extensions; using SpineViewer.Models; using SpineViewer.Resources; using SpineViewer.Services; +using SpineViewer.ViewModels.MainWindow; using System; using System.Collections; using System.Collections.Generic; diff --git a/SpineViewer/ViewModels/Exporters/FrameSequenceExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/FrameSequenceExporterViewModel.cs index 4c23ef3..09f00fd 100644 --- a/SpineViewer/ViewModels/Exporters/FrameSequenceExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/FrameSequenceExporterViewModel.cs @@ -4,6 +4,7 @@ using SpineViewer.Extensions; using SpineViewer.Models; using SpineViewer.Resources; using SpineViewer.Services; +using SpineViewer.ViewModels.MainWindow; using System; using System.Collections; using System.Collections.Generic; diff --git a/SpineViewer/ViewModels/Exporters/VideoExporterViewModel.cs b/SpineViewer/ViewModels/Exporters/VideoExporterViewModel.cs index 3d302b5..fa6e9b2 100644 --- a/SpineViewer/ViewModels/Exporters/VideoExporterViewModel.cs +++ b/SpineViewer/ViewModels/Exporters/VideoExporterViewModel.cs @@ -1,4 +1,5 @@ using SpineViewer.Resources; +using SpineViewer.ViewModels.MainWindow; using System; using System.Collections.Generic; using System.Linq; diff --git a/SpineViewer/ViewModels/ExplorerListViewModel.cs b/SpineViewer/ViewModels/MainWindow/ExplorerListViewModel.cs similarity index 99% rename from SpineViewer/ViewModels/ExplorerListViewModel.cs rename to SpineViewer/ViewModels/MainWindow/ExplorerListViewModel.cs index 92f8800..ce40a8d 100644 --- a/SpineViewer/ViewModels/ExplorerListViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/ExplorerListViewModel.cs @@ -8,7 +8,6 @@ using SpineViewer.Extensions; using SpineViewer.Models; using SpineViewer.Resources; using SpineViewer.Services; -using SpineViewer.ViewModels; using System; using System.Collections; using System.Collections.Generic; @@ -22,7 +21,7 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shell; -namespace SpineViewer.ViewModels +namespace SpineViewer.ViewModels.MainWindow { public class ExplorerListViewModel : ObservableObject { diff --git a/SpineViewer/ViewModels/MainWindowViewModel.cs b/SpineViewer/ViewModels/MainWindow/MainWindowViewModel.cs similarity index 77% rename from SpineViewer/ViewModels/MainWindowViewModel.cs rename to SpineViewer/ViewModels/MainWindow/MainWindowViewModel.cs index 3a13a29..f6156e4 100644 --- a/SpineViewer/ViewModels/MainWindowViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/MainWindowViewModel.cs @@ -19,7 +19,7 @@ using System.Windows.Controls; using System.Windows.Data; using System.Windows.Shell; -namespace SpineViewer.ViewModels +namespace SpineViewer.ViewModels.MainWindow { /// /// MainWindow 上下文对象 @@ -101,31 +101,8 @@ namespace SpineViewer.ViewModels private void Debug_Execute() { #if DEBUG - var path = @"C:\Users\ljh\Desktop\a.mp4"; - using var exporter = new FFmpegVideoExporter(_sfmlRenderer.Resolution); - using var view = _sfmlRenderer.GetView(); - exporter.Center = view.Center; - exporter.Size = view.Size; - exporter.Rotation = view.Rotation; - exporter.Viewport = view.Viewport; - - SpineObject[] spines; - lock (_spineObjectModels.Lock) - { - spines = _spineObjectModels.Select(it => it.GetSpineObject(true)).ToArray(); - } - - exporter.Fps = 60; - exporter.Format = FFmpegVideoExporter.VideoFormat.Webm; - exporter.Duration = 3; - exporter.BackgroundColor = new(0, 0, 0, 0); - ProgressService.RunAsync((pr, ct) => - { - exporter.ProgressReporter = (total, done, text) => - { pr.Total = total; pr.Done = done; pr.ProgressText = text; }; - exporter.Export(path, ct, spines); - }, "测试一下"); + MessagePopupService.Quest("测试一下"); #endif } } diff --git a/SpineViewer/ViewModels/SFMLRendererViewModel.cs b/SpineViewer/ViewModels/MainWindow/SFMLRendererViewModel.cs similarity index 99% rename from SpineViewer/ViewModels/SFMLRendererViewModel.cs rename to SpineViewer/ViewModels/MainWindow/SFMLRendererViewModel.cs index 15f53ac..6441782 100644 --- a/SpineViewer/ViewModels/SFMLRendererViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/SFMLRendererViewModel.cs @@ -18,7 +18,7 @@ using System.Windows; using System.Windows.Input; using System.Windows.Media; -namespace SpineViewer.ViewModels +namespace SpineViewer.ViewModels.MainWindow { public class SFMLRendererViewModel : ObservableObject { diff --git a/SpineViewer/ViewModels/SpineObjectListViewModel.cs b/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs similarity index 99% rename from SpineViewer/ViewModels/SpineObjectListViewModel.cs rename to SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs index 4e1d7b3..3904f41 100644 --- a/SpineViewer/ViewModels/SpineObjectListViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs @@ -17,7 +17,7 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Shell; -namespace SpineViewer.ViewModels +namespace SpineViewer.ViewModels.MainWindow { public class SpineObjectListViewModel : ObservableObject { diff --git a/SpineViewer/ViewModels/SpineObjectTabViewModel.cs b/SpineViewer/ViewModels/MainWindow/SpineObjectTabViewModel.cs similarity index 99% rename from SpineViewer/ViewModels/SpineObjectTabViewModel.cs rename to SpineViewer/ViewModels/MainWindow/SpineObjectTabViewModel.cs index cf4f4b3..c092a14 100644 --- a/SpineViewer/ViewModels/SpineObjectTabViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/SpineObjectTabViewModel.cs @@ -9,7 +9,7 @@ using System.Collections.ObjectModel; using System.ComponentModel; using System.Windows; -namespace SpineViewer.ViewModels +namespace SpineViewer.ViewModels.MainWindow { public class SpineObjectTabViewModel : ObservableObject { @@ -611,7 +611,7 @@ namespace SpineViewer.ViewModels // 但是目前无法识别是否增加了轨道, 因此总是重建列表 // 由于某些原因, 直接使用 Clear 会和 UI 逻辑冲突产生报错, 因此需要放到 Dispatcher 里延迟执行 - App.Current.Dispatcher.BeginInvoke( + Application.Current.Dispatcher.BeginInvoke( () => { _animationTracks.Clear(); diff --git a/SpineViewer/Views/MainWindow.xaml b/SpineViewer/Views/MainWindow.xaml index 29c9f64..9df47f3 100644 --- a/SpineViewer/Views/MainWindow.xaml +++ b/SpineViewer/Views/MainWindow.xaml @@ -5,7 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:hc="https://handyorg.github.io/handycontrol" - xmlns:vm="clr-namespace:SpineViewer.ViewModels" + xmlns:vm="clr-namespace:SpineViewer.ViewModels.MainWindow" xmlns:ext="clr-namespace:SpineViewer.Extensions" xmlns:SFMLRenderer="clr-namespace:SFMLRenderer;assembly=SFMLRenderer" mc:Ignorable="d" diff --git a/SpineViewer/Views/MainWindow.xaml.cs b/SpineViewer/Views/MainWindow.xaml.cs index 8c3b8f5..e83f61d 100644 --- a/SpineViewer/Views/MainWindow.xaml.cs +++ b/SpineViewer/Views/MainWindow.xaml.cs @@ -5,7 +5,7 @@ using NLog.Targets; using Spine; using SpineViewer.Natives; using SpineViewer.Resources; -using SpineViewer.ViewModels; +using SpineViewer.ViewModels.MainWindow; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics;