diff --git a/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj b/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj
index f2f98d5..b33ed23 100644
--- a/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj
+++ b/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs b/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs
index 75f045d..d1b7f02 100644
--- a/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs
+++ b/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs
@@ -9,10 +9,10 @@ public class GitVersion
[JsonPropertyName("prerelease")] public bool Prerelease { get; set; }
- [JsonPropertyName("tag_name")] public string TagName { get; set; }
-
[JsonPropertyName("name")] public string Name { get; set; }
+ [JsonPropertyName("tag_name")] public string TagName { get; set; }
+
[JsonPropertyName("html_url")] public string Url { get; set; }
public Version Version => new(TagName.Replace("v", string.Empty));
diff --git a/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs b/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs
index 8acb5ab..d11ad3c 100644
--- a/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs
+++ b/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs
@@ -18,6 +18,8 @@ public MidiTrack(IEventAggregator events, TrackChunk track)
TrackName = track.Events.OfType().FirstOrDefault()?.Text;
}
+ public bool CanBePlayed => Track.Events.Count(e => e is NoteEvent) > 0;
+
public bool IsChecked
{
get => _isChecked;
@@ -28,8 +30,6 @@ public bool IsChecked
}
}
- public bool CanBePlayed => Track.Events.Count(e => e is NoteEvent) > 0;
-
public string? TrackName { get; }
public TrackChunk Track { get; }
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs
index a66584e..707fd64 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs
@@ -47,15 +47,12 @@ private void OnCurrentStateInvalidated(object? sender, EventArgs e)
if (sender is Clock clock) _currentState = clock.CurrentState;
}
- private void OnCompleted(object? sender, EventArgs e)
- {
- Completed?.Invoke(this, EventArgs.Empty);
- }
+ private void OnCompleted(object? sender, EventArgs e) { Completed?.Invoke(this, EventArgs.Empty); }
private BitmapCache GetBitmapCache()
{
#if NETCOREAPP || NET462
- return new BitmapCache(VisualTreeHelper.GetDpi(_element).PixelsPerDip);
+ return new(VisualTreeHelper.GetDpi(_element).PixelsPerDip);
#else
return _defaultBitmapCache;
#endif
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs
index e9696cc..daedff0 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs
@@ -89,7 +89,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo
element.SetCurrentValue(UIElement.RenderTransformProperty, new ScaleTransform());
element.SetCurrentValue(UIElement.RenderTransformOriginProperty, new Point(0.5, 0.5));
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards)
@@ -107,7 +107,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov
Storyboard.SetTargetProperty(opacityAnim, OpacityPath);
storyboard.Children.Add(opacityAnim);
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
}
}
\ No newline at end of file
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs
index 725a949..7920e44 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs
@@ -47,7 +47,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo
element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform());
}
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards)
@@ -94,7 +94,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov
storyboard.Children.Add(opacityAnim);
}
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
}
}
\ No newline at end of file
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs
index d7317e6..0290e9a 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs
@@ -34,10 +34,7 @@ public enum Direction
///
public sealed class SlideTransition : Transition, ISlideNavigationTransitionInfo2
{
- public SlideTransition(Direction effect)
- {
- Effect = effect;
- }
+ public SlideTransition(Direction effect) { Effect = effect; }
protected override Animation GetEnterAnimation(FrameworkElement element, bool movingBackwards)
{
@@ -105,7 +102,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo
element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform());
}
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards)
@@ -188,7 +185,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov
element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform());
}
- return new Animation(element, storyboard);
+ return new(element, storyboard);
}
#region Effect
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs
index 42a2fd2..691c8c0 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs
@@ -20,10 +20,7 @@ public CaptionedObject(T o, string? caption = null)
public class CaptionedObject : CaptionedObject where T : Enum
{
- public CaptionedObject(T o, TEnum type, string? caption = null) : base(o, caption)
- {
- Type = type;
- }
+ public CaptionedObject(T o, TEnum type, string? caption = null) : base(o, caption) { Type = type; }
public TEnum Type { get; }
diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs
index f09c087..d3e5407 100644
--- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs
+++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs
@@ -12,12 +12,12 @@ private AppTheme(string name, ApplicationTheme? value)
public ApplicationTheme? Value { get; }
- public static AppTheme Light { get; } = new("Light", ApplicationTheme.Light);
-
public static AppTheme Dark { get; } = new("Dark", ApplicationTheme.Dark);
public static AppTheme Default { get; } = new("Use system setting", null);
+ public static AppTheme Light { get; } = new("Light", ApplicationTheme.Light);
+
public string Name { get; }
public override string ToString() => Name;
diff --git a/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml b/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml
index 271e8a8..fbf1624 100644
--- a/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml
+++ b/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml
@@ -1,4 +1,4 @@
-
+ ItemsSource="{x:Static transitions:TransitionCollection.Transitions}" />