diff --git a/BallanceTasEditor/BallanceTasEditor/Frontend/Converters/CellColorConverter.cs b/BallanceTasEditor/BallanceTasEditor/Frontend/Converters/ViewerColorConverter.cs
similarity index 68%
rename from BallanceTasEditor/BallanceTasEditor/Frontend/Converters/CellColorConverter.cs
rename to BallanceTasEditor/BallanceTasEditor/Frontend/Converters/ViewerColorConverter.cs
index cd333e0..e2af77c 100644
--- a/BallanceTasEditor/BallanceTasEditor/Frontend/Converters/CellColorConverter.cs
+++ b/BallanceTasEditor/BallanceTasEditor/Frontend/Converters/ViewerColorConverter.cs
@@ -60,4 +60,29 @@ namespace BallanceTasEditor.Frontend.Converters {
}
}
+ [ValueConversion(typeof(bool), typeof(Brush))]
+ public class HeaderIsSelectedToColorConverter : IValueConverter {
+ public static readonly HeaderIsSelectedToColorConverter Instance = new HeaderIsSelectedToColorConverter();
+
+ private static readonly SolidColorBrush SELECTED_BRUSH = new(Color.FromRgb(30, 144, 255));
+ private static readonly SolidColorBrush DESELECTED_BRUSH = new(Color.FromRgb(255, 255, 255));
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
+ var isSelected = value as bool?;
+ if (isSelected is null) {
+ return Binding.DoNothing;
+ } else {
+ if (isSelected.Value) {
+ return SELECTED_BRUSH;
+ } else {
+ return DESELECTED_BRUSH;
+ }
+ }
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
+ return Binding.DoNothing;
+ }
+ }
+
}
diff --git a/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml b/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml
new file mode 100644
index 0000000..963c43b
--- /dev/null
+++ b/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml
@@ -0,0 +1,13 @@
+
+
+
diff --git a/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml.cs b/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml.cs
new file mode 100644
index 0000000..b743979
--- /dev/null
+++ b/BallanceTasEditor/BallanceTasEditor/Frontend/Widgets/FrameHeader.xaml.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BallanceTasEditor.Frontend.Widgets {
+ ///
+ /// Interaction logic for FrameHeader.xaml
+ ///
+ public partial class FrameHeader : UserControl {
+ public FrameHeader() {
+ InitializeComponent();
+ }
+
+ public bool IsSelected {
+ get { return (bool)GetValue(IsSelectedProperty); }
+ set { SetValue(IsSelectedProperty, value); }
+ }
+
+ // Using a DependencyProperty as the backing store for IsSelected. This enables animation, styling, binding, etc...
+ public static readonly DependencyProperty IsSelectedProperty =
+ DependencyProperty.Register("IsSelected", typeof(bool), typeof(FrameCell), new PropertyMetadata(false));
+
+ }
+}