WindowChrome Windows 11 Support in 22.1 not working for me

WPF Studio, Themes, and Shared Library for WPF Forum

Posted 2 years ago by Oliver Fink
Version: 22.1.0
Platform: .NET 5.0
Environment: Windows 10 (64-bit)
Avatar

Hi there, I'm evaluating WPF for upgrade and was happy to see that integration with W11 should be there (as per the blog article https://www.actiprosoftware.com/blog/post/25678/wpf-controls-v221-released ).

However, I don't see the Snap UI on the maximize/restore titlebar buttons in either the Demo applications or simple quickstart. I've doublechecked that version 22.1 and tried it with both netcore-6/netcore-5 and framework-4.7.2 targets.

public MainWindow()
{
   InitializeComponent();
   WindowChrome.SetChrome(this, new WindowChrome());
}

It might be that I'm missing something super obvious, but it doesn't show for me (Windows 11 Pro, 22000.376)

Any ideas?

Comments (5)

Answer - Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Thank you for your post. We identified an issue with the logic used to detect if snap layouts are enabled and the fix will be in the next maintenance release.

To get them working on the current release, you should just need to toggle snap layouts off and back on. You can access the setting from Windows Settings > System > Multitasking > Snap windows > Show snap layouts.  This will create the registry value  "EnableSnapAssistFlyout" under key "Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" that indicates if snap layouts are enabled. This key is not present, by default, on a new install until the setting is modified at least once, and we incorrectly had the feature default to being disabled if the value was not defined in the key.


Actipro Software Support

Posted 2 years ago by Oliver Fink
Avatar

Great! Yes, I can confirm that this was the problem. Toggling the setting created the registry entry and now it's showing for me as well. 

thanks for the quick response!

O

Posted 2 years ago by Rick - Developer, Visual Software Systems LLC
Avatar

I am also experiencing a similar issue, but with RibbonWindow. I've verified the registry entry you noted above is present and enabled.  Does the snap layout menu support feature in WindowChrome not apply to RibbonWindow?  

Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Rick,

RibbonWindow uses a WindowChrome behind the scenes, so the same features are supported with that.  If you email our support address and mention this thread in your email, we can send you a preview build of the upcoming maintenance release to try and see if it resolves the issue for you.


Actipro Software Support

Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Big thanks to Rick for isolating the issue. For the Snap Layouts feature to work correctly, your application's "app.manifest" file must indicate that Windows 10 & 11 (same GUID) are supported like in the following snippet.

	<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
		<application>
			<!-- A list of the Windows versions that this application has been tested on and is
           is designed to work with. Uncomment the appropriate elements and Windows will 
           automatically selected the most compatible environment. -->

			<!-- Windows 7 -->
			<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />

			<!-- Windows 8 -->
			<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />

			<!-- Windows 8.1 -->
			<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />

			<!-- Windows 10/11 -->
			<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />

		</application>
	</compatibility>

Fun tip... the keyboard shortcut Win+Z will activate Snap Layouts for (apparently) any Window even if the flyout doesn't appear when you hover over the maximize/restore button.


Actipro Software Support

The latest build of this product (v24.1.2) was released 2 days ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.