Upgraded from version 19.x to 22.x, Ribbon/Application Button issue

Ribbon for WPF Forum

Posted 2 months ago by Farris
Version: 22.1.4
Platform: .NET 6.0
Environment: Windows 10 (64-bit)
Avatar

Previously my application only had 1 large icon in the top left corner, which toggled the Backstage / ApplicationMenu, and no default Windows Application Icon in the titlebar was displayed, like in this example.

After upgrading, the Ribbon menu button turned small (same size as the default Windows Application icon), as well as the default titlebar icon was shown. This didn't look good, as we didn't want a duplicate of the same icon, and only the Backstage / ApplicationMenu was needed.

"No biggie" I thought, we can just remove setting the Icon attribute on the DockSiteWindow, which is the Main Window. This hid the icon in the titlebar. 

However, this Icon was databound to a property that may change, so that the Taskbar icon changed depending on different circumstances. Now that I had removed databinding the Icon, I could no longer easily change the Taskbar icon. I tried several different ways involving P/Invoke and Windows API Code Pack, but just couldn't get it working. 

So my question is, is there a way to get it back to look the "old" way, like in the example? 

[Modified 2 months ago]

Comments (1)

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

Hi Farris,

The "old" way with the large orb in a cirlce is no longer possible in the more recent versions.

If I understand you correctly, your original concern was having both the Windows Application icon and the Ribbon menu icon displayed at the same time. If so, maybe that concern can be addressed in other ways.

The more modern Ribbon uses a button with either an icon or text for it's application menu.  The Office team started with an icon and a distinct visual appearance.  They later went away from that design to use a more traditional "File" label that looked like other ribbon tabs, but opened a menu instead.  Perhaps you could avoid the extra icon by also using the "File" label for your menu?

Another option would be to replace the icon with another glyph that looks better next to your application icon. For example, you could use a drop-down arrow or the common 3 horizontal lines.

The following help topics discussions setting the content of the application button:

https://www.actiprosoftware.com/docs/controls/wpf/ribbon/appearance-features/app-button-content

If you want to return to the idea of hiding the application icon without clearing the task bar icon, you could customize the window's title bar to show something else there instead (or nothing at all). So long as you set the icon property on the window then the task bar icon should work. The next steps would be to prevent that icon from appearing in the title bar.

RibbonWindow uses our WindowChrome control to customize the title bar.  Our Sample Browser has an example of how to replace the Window's title bar icon with something else. Check out the "Themes > WindowChrome QuickStarts -> Title Bar Back Button" sample for an example.

The WindowChrome.HasIcon property can also be set to false to completely hide the icon.

The following topic discusses WindowChrome in more detail:

https://www.actiprosoftware.com/docs/controls/wpf/themes/windowchrome

The following topic discusses how to customize the WindowChrome used by RibbonWindow.

https://www.actiprosoftware.com/docs/controls/wpf/ribbon/controls/ribbonwindow#windowchrome-usage


Actipro Software Support

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

Add Comment

Please log in to a validated account to post comments.