LaunchBox Views Reference

Written By launchbox

Last updated About 1 month ago

LaunchBox Desktop themes are built from several themeable XAML views. Each view controls a specific part of the LaunchBox window or one of the reusable UI regions inside it.

This article is a starting reference for the main views in a LaunchBox theme. The remaining articles in this collection cover each area in greater depth.


Main Window Views

View

Purpose

MainView.xaml

The overall LaunchBox window layout. It hosts the sidebar, main content, background, game details panel, controls, and working overlay.

SideBarView.xaml

The left navigation area, including platform/filter trees, search, filter type controls, counts, and related sidebar UI.

ContentBackgroundView.xaml

The background behind the main content area. This is commonly used for background images or media-driven artwork.

ControlsView.xaml

The media control area, including play/pause, previous, next, volume, and status text.

WorkingView.xaml

The working/progress overlay used for longer operations, including progress, status text, cancellation, and error link states.


Content Views

View

Purpose

BoxesContentView.xaml

The box/grid style game and item view. It controls image tiles, text-only tiles, selection states, badges, separators, and no-results states.

ListContentView.xaml

The list/table style game view. It controls rows, columns, headers, sorting presentation, selected rows, badges, and metadata columns.

These two views are the main views used for browsing game lists and filtered library content.


Details Views

View

Purpose

GameDetailsView.xaml

The selected game's details panel. It can display metadata, notes, media, achievements, custom fields, documents, links, related games, and game actions.

PlatformFiltersDetailsView.xaml

The details panel for platforms, platform categories, and playlists. It can display platform metadata, notes, images, documents, totals, last played games, most played games, random games, and related commands.

If a theme does not provide PlatformFiltersDetailsView.xaml, LaunchBox can fall back to GameDetailsView.xaml.


Notification Views

View

Purpose

NotificationListView.xaml

The notification list or tray-style view. It displays active notifications, empty states, and clear/dismiss actions.

NotificationView.xaml

An individual notification item, including icon, message, date, buttons, commands, and read/tray state.


How the Views Fit Together

MainView.xaml is the top-level composition view. Most other views are loaded into regions inside it.

A simplified mental model looks like this:

MainView.xaml      SideBarView.xaml      ContentBackgroundView.xaml      BoxesContentView.xaml or ListContentView.xaml      GameDetailsView.xaml or PlatformFiltersDetailsView.xaml      ControlsView.xaml      WorkingView.xaml

Notifications are separate UI surfaces that use NotificationListView.xaml and NotificationView.xaml.


Common Binding Areas

Each view has its own view model, but several common binding areas show up across the theme:

  • Brushes for foreground, background, hover, selection, separators, controls, and sidebar colors.

  • Fonts and sizing values driven by LaunchBox visual settings.

  • Visibility properties that hide or show specific UI states.

  • Commands for game actions, navigation actions, media controls, and notification actions.

  • Image and media paths for game art, platform art, backgrounds, and previews.

When learning a view, start from the Default theme version of that file. It shows the expected bindings and the shape of the view model for that part of the interface.


Recommended Order for Learning the Views

  1. Start with MainView.xaml to understand the overall layout.

  2. Review SideBarView.xaml so you understand navigation and filtering.

  3. Review BoxesContentView.xaml and ListContentView.xaml for the library browsing views.

  4. Review GameDetailsView.xaml and PlatformFiltersDetailsView.xaml for details panels.

  5. Customize ControlsView.xaml, WorkingView.xaml, and notification views after the main layout is stable.



In Short

A LaunchBox Desktop theme is a set of XAML views in LBThemes\[Theme Name]\Views. MainView.xaml controls the overall window, while the other views control specific regions like the sidebar, content lists, details panels, controls, progress overlay, and notifications.