df26c677ef
* 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. * We now only initialize the terminal once we know the size Closes #1896. Closes #444. Closes #857. Closes #771. Closes #760.
81 lines
4.6 KiB
XML
81 lines
4.6 KiB
XML
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
|
|
the MIT License. See LICENSE in the project root for license information. -->
|
|
<Toolkit:XamlApplication
|
|
x:Class="TerminalApp.App"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="using:TerminalApp"
|
|
xmlns:Toolkit="using:Microsoft.Toolkit.Win32.UI.XamlHost"
|
|
xmlns:TA="using:TerminalApp"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
mc:Ignorable="d">
|
|
<!-- If you want to prove this works, then add `RequestedTheme="Light"` to
|
|
the properties on the XamlApplication -->
|
|
<Toolkit:XamlApplication.Resources>
|
|
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<!-- Include the MUX Controls resources -->
|
|
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
|
|
<ResourceDictionary>
|
|
|
|
<!-- We're going to apply this style to the root Grid acting
|
|
as the tab row, because we need to be able to set its
|
|
`Background` property to "{ThemeResource
|
|
ApplicationPageBackgroundThemeBrush}" so it will be colored
|
|
appropriately for the theme, regardless of what we set the
|
|
RequestedTheme to -->
|
|
<Style x:Name="BackgroundGridThemeStyle" TargetType="Grid">
|
|
<Setter Property="Background" Value="{ThemeResource ApplicationPageBackgroundThemeBrush}" />
|
|
</Style>
|
|
|
|
<!-- Manually theme the CloseButton of a ContentDialog. We
|
|
need to do this, because for whatever reason, if we show a
|
|
ContentDialog when the app theme is opposite the system
|
|
theme, the buttons will appear transparent. This only
|
|
applies to the Close button of the dialog, since we're only
|
|
using the Close button of the dialog. If we ever add other
|
|
dialogs with more buttons, we'll probably want to make sure
|
|
the buttons are styled differently. -->
|
|
<Style TargetType="ContentDialog">
|
|
<!-- the value `AccentButtonStyle` is taken straight
|
|
from the ContentDialog source -->
|
|
<Setter Target="CloseButtonStyle" Value="{StaticResource AccentButtonStyle}" />
|
|
</Style>
|
|
|
|
<!-- We need to manually create the error text brush as a
|
|
theme-dependent brush. SystemControlErrorTextForegroundBrush
|
|
is unfortunately static. -->
|
|
<SolidColorBrush x:Name="ErrorTextBrush" Color="{ThemeResource SystemErrorTextColor}" />
|
|
|
|
<!-- Suppress all padding around the tabs. The TabView looks far better like this. -->
|
|
<Thickness x:Key="TabViewHeaderPadding">0,0,0,0</Thickness>
|
|
|
|
<ResourceDictionary.ThemeDictionaries>
|
|
<ResourceDictionary x:Key="Dark">
|
|
<!-- Define resources for Dark mode here -->
|
|
<!-- The TabViewBackground is used on a control (DragBar, TitleBarControl) whose color is propagated to GDI.
|
|
The default background is black or white with an alpha component, as it's intended to be layered on top of
|
|
another control. Unfortunately, GDI cannot handle this: we need to either render the XAML to a surface and
|
|
sample the pixels out of it, or premultiply the alpha into the background. For obvious reasons, we've chosen
|
|
the latter. -->
|
|
<SolidColorBrush x:Key="TabViewBackground" Color="#FF333333" />
|
|
</ResourceDictionary>
|
|
|
|
<ResourceDictionary x:Key="Light">
|
|
<!-- Define resources for Light mode here -->
|
|
<!-- See note about premultiplication above. -->
|
|
<SolidColorBrush x:Key="TabViewBackground" Color="#FFCCCCCC" />
|
|
</ResourceDictionary>
|
|
|
|
</ResourceDictionary.ThemeDictionaries>
|
|
|
|
</ResourceDictionary>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
</ResourceDictionary>
|
|
|
|
|
|
</Toolkit:XamlApplication.Resources>
|
|
</Toolkit:XamlApplication>
|