[PR #3027] Upgrade to Microsoft.UI.Xaml 2.2 #25214

Open
opened 2026-01-31 09:08:01 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/3027

State: closed
Merged: Yes


This pull request introduces the code changes required to move to MUX 2.2
final.

  • We had to move to the final API:
    • Items -> TabItems
    • Items.VectorChanged -> TabItemsChanged
    • TabClose -> TabCloseRequested
    • TabViewItem.Icon -> TabViewItem.IconSource
  • TabRowControl has been converted to a ContentPresenter, which
    simplifies its logic a little bit.
  • TerminalPage now differentiates MUX and WUX a little better
  • Because of the change from Icon to IconSource in TabViewItem,
    Utils::GetColoredIcon needed to be augmented to support MUX IconSources.
    It was still necessary to use for WUX, so it's been templatized.
  • I moved us from WUX SplitButton to MUX SplitButton and brought the
    style in line with the one typically provided by TabView.
  • Some of our local controls have had their backgrounds removed so
    they're more amenable to being placed on other surfaces.
  • I'm suppressing the TabView's padding.
  • I removed a number of apparently dead methods from App.
  • I've simplified the dragbar's sizing logic and eventing.
  • The winmd harvester needed to be taught to not try to copy winmds for framework packages.

PR Checklist

Validation Steps Performed

It's tabs, and they do a good. I tried them all.

image

image

image

image

image

References

  • Enables #597, but does not fix it
**Original Pull Request:** https://github.com/microsoft/terminal/pull/3027 **State:** closed **Merged:** Yes --- This pull request introduces the code changes required to move to MUX 2.2 final. * We had to move to the final API: * `Items` -> `TabItems` * `Items.VectorChanged` -> `TabItemsChanged` * `TabClose` -> `TabCloseRequested` * `TabViewItem.Icon` -> `TabViewItem.IconSource` * `TabRowControl` has been converted to a `ContentPresenter`, which simplifies its logic a little bit. * `TerminalPage` now differentiates MUX and WUX a little better * Because of the change from `Icon` to `IconSource` in `TabViewItem`, `Utils::GetColoredIcon` needed to be augmented to support MUX IconSources. It was still necessary to use for WUX, so it's been templatized. * I moved us from WUX `SplitButton` to MUX `SplitButton` and brought the style in line with the one typically provided by `TabView`. * Some of our local controls have had their backgrounds removed so they're more amenable to being placed on other surfaces. * I'm suppressing the TabView's padding. * I removed a number of apparently dead methods from App. * I've simplified the dragbar's sizing logic and eventing. * The winmd harvester needed to be taught to not try to copy winmds for framework packages. ## PR Checklist * [x] Closes #1896, Closes #444, Closes #857, Closes #771, Closes #760 * [x] CLA signed * [x] Go go core contributor status! ## Validation Steps Performed It's tabs, and they do a good. I tried them all. ![image](https://user-images.githubusercontent.com/14316954/66010703-ef154a80-e474-11e9-9ce9-7730ed83ed69.png) ![image](https://user-images.githubusercontent.com/14316954/66010721-018f8400-e475-11e9-8180-29b6335da131.png) ![image](https://user-images.githubusercontent.com/14316954/66010729-094f2880-e475-11e9-9b6f-3ee01e007180.png) ![image](https://user-images.githubusercontent.com/14316954/66010734-0fdda000-e475-11e9-9d30-6d4e8b17e0f7.png) ![image](https://user-images.githubusercontent.com/14316954/66010754-284dba80-e475-11e9-8f92-41367fa0f901.png) ## References * Enables #597, but does not fix it
claunia added the pull-request label 2026-01-31 09:08:01 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25214