diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
index ba4733b911..e9148ae33b 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
@@ -8,6 +8,7 @@
xmlns:helpers="using:Microsoft.CmdPal.UI.Helpers"
xmlns:local="using:Microsoft.CmdPal.UI.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ Loaded="UserControl_Loaded"
mc:Ignorable="d">
@@ -71,68 +72,71 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -165,21 +161,21 @@
-
+
-
+
+
+
+
+
+
-
+
-
+
+ Spacing="4"
+ Visibility="Collapsed">
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs
index eb14097890..483e0c4e60 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs
@@ -20,6 +20,19 @@ public sealed partial class DockEditor : UserControl
private DockEditorPinArea _targetArea;
private DockBandSettingsViewModel? _currentContextItem;
+ public Orientation Orientation
+ {
+ get => (Orientation)GetValue(OrientationProperty);
+ set => SetValue(OrientationProperty, value);
+ }
+
+ public static readonly DependencyProperty OrientationProperty =
+ DependencyProperty.Register(
+ nameof(Orientation),
+ typeof(Orientation),
+ typeof(DockEditor),
+ new PropertyMetadata(Orientation.Horizontal, OnOrientationChanged));
+
///
/// Gets or sets the collection of all dock band items to display and manage.
///
@@ -69,6 +82,21 @@ public sealed partial class DockEditor : UserControl
}
}
+ private static void OnOrientationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ {
+ if (d is DockEditor editor)
+ {
+ if (editor.Orientation == Orientation.Horizontal)
+ {
+ VisualStateManager.GoToState(editor, "HorizontalState", true);
+ }
+ else
+ {
+ VisualStateManager.GoToState(editor, "VerticalState", true);
+ }
+ }
+ }
+
private void LoadItems()
{
StartItems.Clear();
@@ -82,7 +110,7 @@ public sealed partial class DockEditor : UserControl
foreach (var item in DockItems)
{
- // Use PinSideIndex: 0 = None, 1 = Start, 2 = End
+ // PinSideIndex: 0 = None, 1 = Start, 2 = End
switch (item.PinSideIndex)
{
case 1: // Start
@@ -154,7 +182,6 @@ public sealed partial class DockEditor : UserControl
selectedItem.PinSideIndex = _targetArea switch
{
DockEditorPinArea.Start => 1,
- DockEditorPinArea.Center => 1, // Center maps to Start
DockEditorPinArea.End => 2,
_ => 0,
};
@@ -177,42 +204,6 @@ public sealed partial class DockEditor : UserControl
CloseFlyoutFromSender(sender);
}
- private void DockItem_Click(object sender, ItemClickEventArgs e)
- {
- if (e.ClickedItem is not DockBandSettingsViewModel clickedItem)
- {
- return;
- }
-
- _currentContextItem = clickedItem;
-
- // Update the flyout title
- OptionsFlyoutTitle.Text = clickedItem.Title;
-
- // Set the combo box to the current show labels setting
- ShowLabelsComboBox.SelectedIndex = clickedItem.ShowLabelsIndex;
-
- // Show the flyout attached to the clicked item
- if (sender is ListView listView)
- {
- var container = listView.ContainerFromItem(clickedItem) as ListViewItem;
- if (container != null && Resources.TryGetValue("DockItemOptionsFlyout", out var flyoutResource) && flyoutResource is Flyout flyout)
- {
- flyout.ShowAt(container);
- }
- }
- }
-
- private void ShowLabelsComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (_currentContextItem == null || sender is not ComboBox comboBox)
- {
- return;
- }
-
- _currentContextItem.ShowLabelsIndex = comboBox.SelectedIndex;
- }
-
private void UnpinButton_Click(object sender, RoutedEventArgs e)
{
if (_currentContextItem == null)
@@ -323,7 +314,6 @@ public sealed partial class DockEditor : UserControl
_draggedItem.PinSideIndex = targetArea switch
{
DockEditorPinArea.Start => 1,
- DockEditorPinArea.Center => 1, // Center maps to Start
DockEditorPinArea.End => 2,
_ => 0,
};
@@ -395,6 +385,11 @@ public sealed partial class DockEditor : UserControl
element = VisualTreeHelper.GetParent(element);
}
}
+
+ private void UserControl_Loaded(object sender, RoutedEventArgs e)
+ {
+ AvailableItemsListView.ItemsSource = AvailableItems;
+ }
}
///
diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
index 285cfbc707..96a3a22829 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
@@ -163,7 +163,6 @@
ItemTemplate="{StaticResource DockBandTemplate}"
ItemsSource="{x:Bind ViewModel.StartItems, Mode=OneWay}"
Layout="{StaticResource ItemsOrientation}">
-
@@ -180,6 +179,10 @@
+
diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Settings/DockSettingsPage.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Settings/DockSettingsPage.xaml
index ec3c7e0ccd..b14083b49e 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Settings/DockSettingsPage.xaml
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Settings/DockSettingsPage.xaml
@@ -68,7 +68,7 @@
-
+
@@ -111,10 +111,11 @@
+
+
+
-
-
-
+