Skip to content

Changing Theme at Runtime does not Update Some Properties #4394

@YourRobotOverlord

Description

@YourRobotOverlord

Describe the bug

Some properties are not correctly updated when switching themes at runtime, the ones I have noticed are Dialog.DefaultBorderStyle, Dialog.DefaultShadow, MessageBox.DefaultBorderStyle, Menuv2.DefaultBorderStyle, and Button.DefaultShadow.

To Reproduce

Steps to reproduce the behavior:

  1. Run the following code:
    Open UICatalog and open 'Help, About'.
    Observe border style, button shadow, and dialog shadow.
Image
  1. Change theme to "Green Phosphor"

From Green Phosphor Theme

      "Green Phosphor": {
        "Dialog.DefaultShadow": "None",
        "FrameView.DefaultBorderStyle": "Single",
        "Window.DefaultBorderStyle": "Single",
        "MessageBox.DefaultBorderStyle": "Single",
        "Button.DefaultShadow": "None",
        "Menuv2.DefaultBorderStyle": "Single",
  1. Note that the properties have not changed.
Image

Environment

Please run the following commands in your terminal and paste the output:

OS Information

OS: Microsoft Windows 11 Pro 10.0.26200

Terminal Information

Terminal: Windows Terminal 1.23.12811.0

PowerShell Version

Major Minor Patch PreReleaseLabel BuildLabel


7 5 4

.NET Information

Output:

dotnet --version
10.0.100

dotnet --info
.NET SDK:
 Version:           10.0.100
 Commit:            b0f34d51fc
 Workload version:  10.0.100-manifests.355811b7
 MSBuild version:   18.0.2+b0f34d51f

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.26200
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\10.0.100\

.NET workloads installed:
 [maui-windows]
   Installation Source: VS 18.0.11205.157
   Manifest Version:    10.0.0/10.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.maui\10.0.0\WorkloadManifest.json
   Install Type:              Msi

 [maccatalyst]
   Installation Source: VS 18.0.11205.157
   Manifest Version:    26.0.11017/10.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.maccatalyst\26.0.11017\WorkloadManifest.json
   Install Type:              Msi

 [ios]
   Installation Source: VS 18.0.11205.157
   Manifest Version:    26.0.11017/10.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.ios\26.0.11017\WorkloadManifest.json
   Install Type:              Msi

 [android]
   Installation Source: VS 18.0.11205.157
   Manifest Version:    36.1.2/10.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.android\36.1.2\WorkloadManifest.json
   Install Type:              Msi

Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.

Host:
  Version:      10.0.0
  Architecture: x64
  Commit:       b0f34d51fc

.NET SDKs installed:
  8.0.414 [C:\Program Files\dotnet\sdk]
  8.0.416 [C:\Program Files\dotnet\sdk]
  9.0.307 [C:\Program Files\dotnet\sdk]
  10.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 10.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 10.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 9.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 10.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Terminal.Gui Version

Version:

v2 - Pre-Alpha

(v2_develop branch, fresh clone)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    ✅ Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions