diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Dock/DockBandSettingsViewModel.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Dock/DockBandSettingsViewModel.cs
index b2dc5d8f04..d36743aed3 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Dock/DockBandSettingsViewModel.cs
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Dock/DockBandSettingsViewModel.cs
@@ -5,6 +5,7 @@
using System.Globalization;
using System.Text;
using CommunityToolkit.Mvvm.ComponentModel;
+using CommunityToolkit.Mvvm.Input;
using Microsoft.CmdPal.Core.ViewModels;
using Microsoft.CmdPal.UI.ViewModels.Settings;
@@ -84,6 +85,12 @@ public partial class DockBandSettingsViewModel : ObservableObject
set => ShowLabels = (ShowLabelsOption)value;
}
+ [RelayCommand]
+ private void Unpin()
+ {
+ PinSideIndex = 0;
+ }
+
private DockPinSide PinSide
{
get => _pinSide;
diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
index e9148ae33b..70c9d89b7f 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml
@@ -3,6 +3,8 @@
x:Class="Microsoft.CmdPal.UI.Controls.DockEditor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
+ xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dockVm="using:Microsoft.CmdPal.UI.ViewModels.Dock"
xmlns:helpers="using:Microsoft.CmdPal.UI.Helpers"
@@ -81,70 +83,74 @@
BorderThickness="1"
CornerRadius="4"
ToolTipService.ToolTip="{x:Bind Title}">
-
+ SelectedIndex="{x:Bind ShowLabelsIndex, Mode=TwoWay}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -296,7 +302,7 @@
DragItemsCompleted="ListView_DragItemsCompleted"
DragItemsStarting="ListView_DragItemsStarting"
DragOver="ListView_DragOver"
- Drop="EndListView_Drop"
+ Drop="StartListView_Drop"
IsItemClickEnabled="False"
ItemContainerStyle="{StaticResource DockEditorListViewItemStyle}"
ItemTemplate="{StaticResource DockBandItemTemplate}"
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 483e0c4e60..5181b75666 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Controls/DockEditor.xaml.cs
@@ -18,7 +18,6 @@ public sealed partial class DockEditor : UserControl
private DockBandSettingsViewModel? _draggedItem;
private ObservableCollection? _sourceCollection;
private DockEditorPinArea _targetArea;
- private DockBandSettingsViewModel? _currentContextItem;
public Orientation Orientation
{
@@ -206,31 +205,19 @@ public sealed partial class DockEditor : UserControl
private void UnpinButton_Click(object sender, RoutedEventArgs e)
{
- if (_currentContextItem == null)
+ if (sender is Button btn && btn.DataContext is DockBandSettingsViewModel contextItem)
{
- return;
+ // Remove from all UI collections
+ StartItems.Remove(contextItem);
+ CenterItems.Remove(contextItem);
+ EndItems.Remove(contextItem);
+
+ // Refresh available items
+ RefreshAvailableItems();
+
+ // Close the flyout
+ CloseFlyoutFromSender(sender);
}
-
- // Remove from all UI collections
- StartItems.Remove(_currentContextItem);
- CenterItems.Remove(_currentContextItem);
- EndItems.Remove(_currentContextItem);
-
- // Set pin side to None
- _currentContextItem.PinSideIndex = 0;
-
- // Refresh available items
- RefreshAvailableItems();
-
- _currentContextItem = null;
-
- // Close the flyout
- CloseFlyoutFromSender(sender);
- }
-
- private void DockItemOptionsFlyout_Closed(object sender, object e)
- {
- _currentContextItem = null;
}
private void ListView_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml b/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
index 96a3a22829..c5437874e1 100644
--- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
+++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Dock/DockControl.xaml
@@ -41,14 +41,12 @@
Style="{StaticResource TaskBarButtonStyle}"
Tapped="BandItem_Tapped"
ToolTipService.ToolTip="{x:Bind Tooltip, Mode=OneWay}">
-
-
-
+