diff --git a/BytecodeApi.Wpf.Cui/Controls/ProgressBarState.cs b/BytecodeApi.Wpf.Cui/Controls/ProgressBarState.cs
index 21dc958..925fe4e 100644
--- a/BytecodeApi.Wpf.Cui/Controls/ProgressBarState.cs
+++ b/BytecodeApi.Wpf.Cui/Controls/ProgressBarState.cs
@@ -1,8 +1,22 @@
+using BytecodeApi.Wpf.Cui.Controls;
+
namespace BytecodeApi.Wpf.Cui;
+///
+/// Specifies the state of a .
+///
public enum ProgressBarState
{
- Normal,
+ ///
+ /// The is green, indicating a normal state.
+ ///
+ Normal,
+ ///
+ /// The is red, indicating an error or canceled state.
+ ///
Error,
+ ///
+ /// The is yellow, indicating a warning or paused state.
+ ///
Paused
}
\ No newline at end of file
diff --git a/BytecodeApi.Wpf.Cui/Controls/SortAdorner.cs b/BytecodeApi.Wpf.Cui/Controls/SortAdorner.cs
index 19de288..17b2aa0 100644
--- a/BytecodeApi.Wpf.Cui/Controls/SortAdorner.cs
+++ b/BytecodeApi.Wpf.Cui/Controls/SortAdorner.cs
@@ -5,26 +5,41 @@
namespace BytecodeApi.Wpf.Cui.Controls;
+///
+/// Represents an adorner that displays a sorting glyph.
+///
public sealed class SortAdorner : Adorner
{
- private static readonly Geometry AscendingGeometry = Geometry.Parse("M 0,6 L0,5 L4,1 L8,5 L8,6 L4,2 z");
- private static readonly Geometry DescendingGeometry = Geometry.Parse("M 0,1 L0,2 L4,6 L8,2 L8,1 L4,5 z");
- public ListSortDirection Direction { get; private init; }
+ private static readonly Geometry AscendingGeometry = Geometry.Parse("M 0,6 L0,5 L4,1 L8,5 L8,6 L4,2 z");
+ private static readonly Geometry DescendingGeometry = Geometry.Parse("M 0,1 L0,2 L4,6 L8,2 L8,1 L4,5 z");
+ ///
+ /// Gets the value that specifies the sorting direction.
+ ///
+ public ListSortDirection Direction { get; private init; }
- public SortAdorner(UIElement element, ListSortDirection direction) : base(element)
- {
- Direction = direction;
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to bind the adorner to.
+ /// A value that specifies the sorting direction.
+ public SortAdorner(UIElement element, ListSortDirection direction) : base(element)
+ {
+ Direction = direction;
+ }
- protected override void OnRender(DrawingContext drawingContext)
- {
- base.OnRender(drawingContext);
+ ///
+ /// Participates in rendering operations that are directed by the layout system.
+ ///
+ /// The drawing instructions for a specific element. This context is provided to the layout system.
+ protected override void OnRender(DrawingContext drawingContext)
+ {
+ base.OnRender(drawingContext);
- if (AdornedElement.RenderSize.Width > 15)
- {
- drawingContext.PushTransform(new TranslateTransform(AdornedElement.RenderSize.Width / 2 - 4, 0));
- drawingContext.DrawGeometry(Brushes.Black, null, Direction == ListSortDirection.Ascending ? AscendingGeometry : DescendingGeometry);
- drawingContext.Pop();
- }
- }
+ if (AdornedElement.RenderSize.Width > 15)
+ {
+ drawingContext.PushTransform(new TranslateTransform(AdornedElement.RenderSize.Width / 2 - 4, 0));
+ drawingContext.DrawGeometry(Brushes.Black, null, Direction == ListSortDirection.Ascending ? AscendingGeometry : DescendingGeometry);
+ drawingContext.Pop();
+ }
+ }
}
\ No newline at end of file
diff --git a/BytecodeApi.Wpf.Cui/Controls/UiApplicationTabControl.cs b/BytecodeApi.Wpf.Cui/Controls/UiApplicationTabControl.cs
index c9de132..77f2e62 100644
--- a/BytecodeApi.Wpf.Cui/Controls/UiApplicationTabControl.cs
+++ b/BytecodeApi.Wpf.Cui/Controls/UiApplicationTabControl.cs
@@ -4,20 +4,23 @@
namespace BytecodeApi.Wpf.Cui.Controls;
+///
+/// Represents a styled for use in a , typically identifying to display the main tab control.
+///
public class UiApplicationTabControl : TabControl
{
- static UiApplicationTabControl()
- {
- DefaultStyleKeyProperty.OverrideMetadata(typeof(UiApplicationTabControl), new FrameworkPropertyMetadata(typeof(UiApplicationTabControl)));
- }
+ static UiApplicationTabControl()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(UiApplicationTabControl), new FrameworkPropertyMetadata(typeof(UiApplicationTabControl)));
+ }
- protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
- {
- base.OnPreviewMouseDown(e);
+ protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
+ {
+ base.OnPreviewMouseDown(e);
- if (!IsKeyboardFocusWithin)
- {
- Focus();
- }
- }
+ if (!IsKeyboardFocusWithin)
+ {
+ Focus();
+ }
+ }
}
\ No newline at end of file
diff --git a/BytecodeApi.Wpf.Cui/Controls/UiApplicationWindow.cs b/BytecodeApi.Wpf.Cui/Controls/UiApplicationWindow.cs
index 192802e..6b9cdcd 100644
--- a/BytecodeApi.Wpf.Cui/Controls/UiApplicationWindow.cs
+++ b/BytecodeApi.Wpf.Cui/Controls/UiApplicationWindow.cs
@@ -10,144 +10,183 @@
namespace BytecodeApi.Wpf.Cui.Controls;
+///
+/// Represents the main application window styled using a custom window chrome.
+///
public class UiApplicationWindow : ObservableWindow
{
- private const int CaptionHeight = 37;
- private const int CaptionHeightWithMenu = 37;
- private const int CaptionHeightWithToolBar = 66;
- private const int CaptionHeightWithMenuAndToolBar = 66;
- public static readonly DependencyProperty IconControlProperty = DependencyPropertyEx.Register(nameof(IconControl));
- public static readonly DependencyProperty MenuProperty = DependencyPropertyEx.Register(nameof(Menu), new(Menu_Changed));
- public static readonly DependencyProperty ToolBarTrayProperty = DependencyPropertyEx.Register(nameof(ToolBarTray), new(ToolBar_Changed));
- public static readonly DependencyProperty StatusBarProperty = DependencyPropertyEx.Register(nameof(StatusBar));
- private static readonly DependencyPropertyKey ShowResizeGripPropertyKey = DependencyPropertyEx.RegisterReadOnly(nameof(ShowResizeGrip), new FrameworkPropertyMetadata(false));
- public static readonly DependencyProperty ShowResizeGripProperty = ShowResizeGripPropertyKey.DependencyProperty;
- public object? IconControl
- {
- get => GetValue(IconControlProperty);
- set => SetValue(IconControlProperty, value);
- }
- public Menu? Menu
- {
- get => this.GetValue