Upgrading to WASDK 1.8.5 and removing TitleBar workarounds (#45532)

- Upgrade to WASDK 1.8.5 that includes a fix for the `TitleBar` control.
- Remove the workaround from windows that use this control, as we can
set the `TitleBar` directly now
This commit is contained in:
Niels Laute
2026-02-24 13:01:44 +01:00
committed by GitHub
parent 6fe4361a20
commit e8ccb7099e
15 changed files with 34 additions and 73 deletions

View File

@@ -78,10 +78,10 @@
<PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" /> <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" />
<PackageVersion Include="Microsoft.Windows.ImplementationLibrary" Version="1.0.231216.1"/> <PackageVersion Include="Microsoft.Windows.ImplementationLibrary" Version="1.0.231216.1"/>
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.6901" /> <PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.6901" />
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.251106002" /> <PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.260209005" />
<PackageVersion Include="Microsoft.WindowsAppSDK.Foundation" Version="1.8.251104000" /> <PackageVersion Include="Microsoft.WindowsAppSDK.Foundation" Version="1.8.260203002" />
<PackageVersion Include="Microsoft.WindowsAppSDK.AI" Version="1.8.39" /> <PackageVersion Include="Microsoft.WindowsAppSDK.AI" Version="1.8.47" />
<PackageVersion Include="Microsoft.WindowsAppSDK.Runtime" Version="1.8.251106002" /> <PackageVersion Include="Microsoft.WindowsAppSDK.Runtime" Version="1.8.260209005" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" /> <PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" /> <PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
<PackageVersion Include="ModernWpfUI" Version="0.9.4" /> <PackageVersion Include="ModernWpfUI" Version="0.9.4" />

View File

@@ -21,13 +21,9 @@
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TitleBar x:Name="titleBar" IsTabStop="False"> <TitleBar x:Name="titleBar" IsTabStop="False">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/EnvironmentVariables/EnvironmentVariables.ico" />
<ImageIcon </TitleBar.IconSource>
Height="16"
Margin="16,0,0,0"
Source="/Assets/EnvironmentVariables/EnvironmentVariables.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
</Grid> </Grid>
</winuiex:WindowEx> </winuiex:WindowEx>

View File

@@ -27,8 +27,8 @@ namespace EnvironmentVariables
ExtendsContentIntoTitleBar = true; ExtendsContentIntoTitleBar = true;
SetTitleBar(titleBar); SetTitleBar(titleBar);
AppWindow.SetIcon("Assets/EnvironmentVariables/EnvironmentVariables.ico"); AppWindow.SetIcon("Assets/EnvironmentVariables/EnvironmentVariables.ico");
var loader = ResourceLoaderInstance.ResourceLoader; var loader = ResourceLoaderInstance.ResourceLoader;
var title = App.GetService<IElevationHelper>().IsElevated ? loader.GetString("WindowAdminTitle") : loader.GetString("WindowTitle"); var title = App.GetService<IElevationHelper>().IsElevated ? loader.GetString("WindowAdminTitle") : loader.GetString("WindowTitle");

View File

@@ -21,13 +21,9 @@
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TitleBar x:Name="titleBar" IsTabStop="False"> <TitleBar x:Name="titleBar" IsTabStop="False">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/FileLocksmith/Icon.ico" />
<ImageIcon </TitleBar.IconSource>
Height="16"
Margin="16,0,0,0"
Source="/Assets/FileLocksmith/Icon.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
<views:MainPage x:Name="mainPage" Grid.Row="1" /> <views:MainPage x:Name="mainPage" Grid.Row="1" />
</Grid> </Grid>

View File

@@ -20,7 +20,6 @@ namespace FileLocksmithUI
mainPage.ViewModel.IsElevated = isElevated; mainPage.ViewModel.IsElevated = isElevated;
SetTitleBar(titleBar); SetTitleBar(titleBar);
ExtendsContentIntoTitleBar = true; ExtendsContentIntoTitleBar = true;
AppWindow.TitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;
AppWindow.SetIcon("Assets/FileLocksmith/Icon.ico"); AppWindow.SetIcon("Assets/FileLocksmith/Icon.ico");
WindowHelpers.ForceTopBorder1PixelInsetOnWindows10(this.GetWindowHandle()); WindowHelpers.ForceTopBorder1PixelInsetOnWindows10(this.GetWindowHandle());

View File

@@ -21,13 +21,9 @@
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TitleBar x:Name="titleBar" IsTabStop="False"> <TitleBar x:Name="titleBar" IsTabStop="False">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/Hosts/Hosts.ico" />
<ImageIcon </TitleBar.IconSource>
Height="16"
Margin="16,0,0,0"
Source="/Assets/Hosts/Hosts.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
</Grid> </Grid>
</winuiex:WindowEx> </winuiex:WindowEx>

View File

@@ -10,7 +10,7 @@
<PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" /> <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" />
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4188" /> <PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4188" />
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools.MSIX" Version="1.7.20250829.1" /> <PackageVersion Include="Microsoft.Windows.SDK.BuildTools.MSIX" Version="1.7.20250829.1" />
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.250907003" /> <PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.260209005" />
<PackageVersion Include="Shmuelie.WinRTServer" Version="2.1.1" /> <PackageVersion Include="Shmuelie.WinRTServer" Version="2.1.1" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" /> <PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<PackageVersion Include="System.Text.Json" Version="9.0.8" /> <PackageVersion Include="System.Text.Json" Version="9.0.8" />

View File

@@ -31,14 +31,13 @@
IsBackButtonVisible="{x:Bind NavFrame.CanGoBack, Mode=OneWay}" IsBackButtonVisible="{x:Bind NavFrame.CanGoBack, Mode=OneWay}"
IsTabStop="False" IsTabStop="False"
PaneToggleRequested="AppTitleBar_PaneToggleRequested"> PaneToggleRequested="AppTitleBar_PaneToggleRequested">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.Resources>
<TitleBar.LeftHeader> <!-- Override default WinUI 3 style -->
<ImageIcon <x:Double x:Key="TitleBarCompactHeight">40</x:Double>
x:Name="WorkAroundIcon" </TitleBar.Resources>
Height="16" <TitleBar.IconSource>
Margin="16,0,0,0" <ImageIconSource ImageSource="ms-appx:///Assets/icon.svg" />
Source="ms-appx:///Assets/icon.svg" /> </TitleBar.IconSource>
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
<NavigationView <NavigationView
x:Name="NavView" x:Name="NavView"

View File

@@ -44,7 +44,6 @@ public sealed partial class SettingsWindow : WindowEx,
this.SetIcon(); this.SetIcon();
var title = RS_.GetString("SettingsWindowTitle"); var title = RS_.GetString("SettingsWindowTitle");
this.AppWindow.Title = title; this.AppWindow.Title = title;
this.AppWindow.TitleBar.PreferredHeightOption = TitleBarHeightOption.Tall;
this.AppTitleBar.Title = title; this.AppTitleBar.Title = title;
PositionCentered(); PositionCentered();
@@ -196,12 +195,10 @@ public sealed partial class SettingsWindow : WindowEx,
if (args.DisplayMode is NavigationViewDisplayMode.Compact or NavigationViewDisplayMode.Minimal) if (args.DisplayMode is NavigationViewDisplayMode.Compact or NavigationViewDisplayMode.Minimal)
{ {
AppTitleBar.IsPaneToggleButtonVisible = true; AppTitleBar.IsPaneToggleButtonVisible = true;
WorkAroundIcon.Margin = new Thickness(8, 0, 16, 0); // Required for workaround, see XAML comment
} }
else else
{ {
AppTitleBar.IsPaneToggleButtonVisible = false; AppTitleBar.IsPaneToggleButtonVisible = false;
WorkAroundIcon.Margin = new Thickness(16, 0, 8, 0); // Required for workaround, see XAML comment
} }
} }

View File

@@ -18,13 +18,9 @@
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TitleBar x:Name="titleBar" IsTabStop="False"> <TitleBar x:Name="titleBar" IsTabStop="False">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/RegistryPreview/RegistryPreview.ico" />
<ImageIcon </TitleBar.IconSource>
Height="16"
Margin="16,0,0,0"
Source="/Assets/RegistryPreview/RegistryPreview.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
</Grid> </Grid>
</winuiex:WindowEx> </winuiex:WindowEx>

View File

@@ -55,13 +55,9 @@
<!-- Title Bar Area --> <!-- Title Bar Area -->
<TitleBar x:Name="titleBar" x:Uid="ShortcutConflictWindow_TitleTxt"> <TitleBar x:Name="titleBar" x:Uid="ShortcutConflictWindow_TitleTxt">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/Settings/icon.ico" />
<ImageIcon </TitleBar.IconSource>
Height="16"
Margin="16,0,0,0"
Source="/Assets/Settings/icon.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
<!-- Description text --> <!-- Description text -->

View File

@@ -28,14 +28,9 @@
IsBackButtonVisible="False" IsBackButtonVisible="False"
IsPaneToggleButtonVisible="False" IsPaneToggleButtonVisible="False"
PaneToggleRequested="TitleBar_PaneButtonClick"> PaneToggleRequested="TitleBar_PaneButtonClick">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/Settings/icon.ico" />
<ImageIcon </TitleBar.IconSource>
x:Name="TitleBarIcon"
Height="16"
Margin="16,0,0,0"
Source="/Assets/Settings/icon.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
<NavigationView <NavigationView
x:Name="navigationView" x:Name="navigationView"

View File

@@ -120,12 +120,10 @@ namespace Microsoft.PowerToys.Settings.UI
{ {
if (args.DisplayMode == NavigationViewDisplayMode.Compact || args.DisplayMode == NavigationViewDisplayMode.Minimal) if (args.DisplayMode == NavigationViewDisplayMode.Compact || args.DisplayMode == NavigationViewDisplayMode.Minimal)
{ {
TitleBarIcon.Margin = new Thickness(0, 0, 8, 0); // Workaround, see XAML comment
AppTitleBar.IsPaneToggleButtonVisible = true; AppTitleBar.IsPaneToggleButtonVisible = true;
} }
else else
{ {
TitleBarIcon.Margin = new Thickness(16, 0, 0, 0); // Workaround, see XAML comment
AppTitleBar.IsPaneToggleButtonVisible = false; AppTitleBar.IsPaneToggleButtonVisible = false;
} }
} }

View File

@@ -27,14 +27,9 @@
IsBackButtonVisible="False" IsBackButtonVisible="False"
IsPaneToggleButtonVisible="False" IsPaneToggleButtonVisible="False"
PaneToggleRequested="TitleBar_PaneButtonClick"> PaneToggleRequested="TitleBar_PaneButtonClick">
<!-- This is a workaround for https://github.com/microsoft/microsoft-ui-xaml/issues/10374, once fixed we should just be using IconSource --> <TitleBar.IconSource>
<TitleBar.LeftHeader> <ImageIconSource ImageSource="/Assets/Settings/icon.ico" />
<ImageIcon </TitleBar.IconSource>
x:Name="TitleBarIcon"
Height="16"
Margin="16,0,0,0"
Source="/Assets/Settings/icon.ico" />
</TitleBar.LeftHeader>
</TitleBar> </TitleBar>
<NavigationView <NavigationView
x:Name="navigationView" x:Name="navigationView"

View File

@@ -194,12 +194,10 @@ namespace Microsoft.PowerToys.Settings.UI
{ {
if (args.DisplayMode == NavigationViewDisplayMode.Compact || args.DisplayMode == NavigationViewDisplayMode.Minimal) if (args.DisplayMode == NavigationViewDisplayMode.Compact || args.DisplayMode == NavigationViewDisplayMode.Minimal)
{ {
TitleBarIcon.Margin = new Thickness(0, 0, 8, 0); // Workaround, see XAML comment
AppTitleBar.IsPaneToggleButtonVisible = true; AppTitleBar.IsPaneToggleButtonVisible = true;
} }
else else
{ {
TitleBarIcon.Margin = new Thickness(16, 0, 0, 0); // Workaround, see XAML comment
AppTitleBar.IsPaneToggleButtonVisible = false; AppTitleBar.IsPaneToggleButtonVisible = false;
} }
} }