diff --git a/src/Files.App/UserControls/TabBar/TabBar.xaml.cs b/src/Files.App/UserControls/TabBar/TabBar.xaml.cs index 249103dda4a0..0af9578e9bc6 100644 --- a/src/Files.App/UserControls/TabBar/TabBar.xaml.cs +++ b/src/Files.App/UserControls/TabBar/TabBar.xaml.cs @@ -358,15 +358,19 @@ private void TabViewItem_Loaded(object sender, RoutedEventArgs e) } } - private void DragAreaRectangle_Loaded(object sender, RoutedEventArgs e) + private async void DragAreaRectangle_Loaded(object sender, RoutedEventArgs e) { - double scaleAdjustment = DragAreaRectangle.XamlRoot.RasterizationScale; - double titleBarInset = ((FilePropertiesHelpers.FlowDirectionSettingIsRightToLeft + if (HorizontalTabView.ActualWidth <= 0 && TabBarAddNewTabButton.Width <= 0) + await Task.Delay(100); + + var titleBarInset = ((FilePropertiesHelpers.FlowDirectionSettingIsRightToLeft ? MainWindow.Instance.AppWindow.TitleBar.LeftInset - : MainWindow.Instance.AppWindow.TitleBar.RightInset) / scaleAdjustment) + 40; + : MainWindow.Instance.AppWindow.TitleBar.RightInset) / DragAreaRectangle.XamlRoot.RasterizationScale) + 40; - HorizontalTabView.Measure(new(HorizontalTabView.ActualWidth - TabBarAddNewTabButton.Width - titleBarInset, HorizontalTabView.ActualHeight)); - RightPaddingColumn.Width = new(titleBarInset >= 0 ? titleBarInset : 0); + RightPaddingColumn.Width = new(titleBarInset > 40 ? titleBarInset : 138); + HorizontalTabView.Measure(new( + HorizontalTabView.ActualWidth - TabBarAddNewTabButton.Width - titleBarInset, + HorizontalTabView.ActualHeight)); } } } \ No newline at end of file diff --git a/src/Files.App/Views/MainPage.xaml.cs b/src/Files.App/Views/MainPage.xaml.cs index a98ef622795b..1e417cb00188 100644 --- a/src/Files.App/Views/MainPage.xaml.cs +++ b/src/Files.App/Views/MainPage.xaml.cs @@ -127,6 +127,7 @@ private void UserSettingsService_OnSettingChangedEvent(object? sender, SettingCh private void HorizontalMultitaskingControl_Loaded(object sender, RoutedEventArgs e) { TabControl.DragArea.SizeChanged += (_, _) => MainWindow.Instance.RaiseSetTitleBarDragRegion(SetTitleBarDragRegion); + TabControl.SizeChanged += (_, _) => MainWindow.Instance.RaiseSetTitleBarDragRegion(SetTitleBarDragRegion); if (ViewModel.MultitaskingControl is not TabBar) { ViewModel.MultitaskingControl = TabControl;