dotnet / dotnet/maui

Shell does not provide way to change toolbar properties such as font weight, size, family, alignment, background color, etc.

Open
#6,748 17 comments 4 reactions 0 assignees View on GitHub
area-controls-shell proposal/open
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 15h
Merged PRs (30d)
290

Description

### Description

When using the NavigationPage, there is a property, BarBackgroundColor, used to change the background color of the navigation toolbar; this property is not available in Shell. Also, in both NavigationPage and Shell, both derivatives of the Page class, do not provide a way of manipulating text elements directly such as font weight, size, family, and alignment. In order to create an app-wide style, having access to these object's toolbar is crucial. I want to use Shell as my navigation baseline but overriding element properties of the toolbar is prevented in Shell because these properties are not exposed.

If there is some way to do this at present, I cannot find it!

### Public API Changes

Shell.BarBackgroundColor = **_Colors.Purple_**;
Shell.Title.FontAlignment = **_HorizontalOptions.Start_**;
Shell.Title.FontSize = **_32_**;

etc.

### Intended Use-Case

In trying to provide the app user with the ability to change the application "skin", it would be nice to be able to set the toolbar component's individual properties so that when skins are changed, the resources for all shell pages can be updated dynamically.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Shell, NavigationPage, and Page toolbar APIs described in the issue, and compare the existing BarBackgroundColor and text-element behavior. Done means Shell exposes a coherent way to configure toolbar background and title font properties for app-wide and dynamically changing styles.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.