Windows 10 Build 18362. Не уверен, что ошибка Windows или нет, и в любом случае ищу решение.
Я думаю, у меня есть небольшая сложная проблема, которая требует процесса для воспроизведения. В конечном итоге происходит следующее:
![enter image description here](https://i.stack.imgur.com/CQfw6.png)
Приложение использует системную строку заголовка (а не представление, расширенное до заголовка заголовка), и на моем компьютере:настройка системы, позволяющая выделить цвета в строке заголовка, отключена. Вот почему кнопки заголовков синие (цвет системного акцента), но фактическая строка заголовка черная. Что я ожидаю и что должно произойти (как я докажу), так это то, что кнопки заголовков (свернуть, развернуть, закрыть) должны быть черными, как и остальная часть строки заголовка.
Одна из первых вещейЯ попытался сделать, чтобы решить проблему (когда я впервые заметил это в моем реальном приложении), чтобы установить цвет фона кнопок прозрачным. Вот что происходит:
![enter image description here](https://i.stack.imgur.com/Qt5qh.png)
Полностью белый! Хорошо, теперь для воспроизводимого примера.
- Создайте новое приложение UWP. Я использовал C #, и не уверен, что это имеет значение, но для полноты я рекомендую вам сделать то же самое.
- Убедитесь, что вы отключили цвет акцента в строке заголовка в системных настройках
- Запустите стандартную настройкуприложение и обратите внимание на поведение строки заголовка. Это ожидаемое поведение, так как кнопки заголовков черные (в темной теме). Вот почему я считаю, что то, что я испытываю, непреднамеренно
- Я добавил акриловый эффект на страницу XAML, потому что думал, что это проблема. Похоже, что это не так, но просто для полноты используйте следующие XAML и C # (конечно, изменив App1 на имя вашего приложения):
<Page
x:Class="App1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource SystemControlAcrylicWindowMediumHighBrush}">
<Grid>
</Grid>
</Page>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.ApplicationModel.Core;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
namespace App1
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
ApplicationViewTitleBar formattableTitleBar = ApplicationView.GetForCurrentView().TitleBar;
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = false;
formattableTitleBar.ButtonBackgroundColor = Colors.Transparent;
formattableTitleBar.ButtonInactiveBackgroundColor = Colors.Transparent;
}
}
}
Теперь вы должны увидетьчто у меня на втором скриншоте. Если вы закомментируете две строки в MainPage.xaml.cs
, которые назначают цвета кнопок прозрачным, вы получите то, что я вижу на моем первом снимке экрана.
Я что-то упустил? Это ожидаемое поведение? Как сделать так, чтобы кнопки подписи постоянно следовали правилам?