#c# #xaml #uwp #winui
Вопрос:
Я использую WinUI 2.7 в UWP, и в моем XAML у меня есть этот код:
<Grid Background="{ThemeResource AcrylicBackgroundFillColorDefaultBrush}" ColumnSpacing="10.0">
<muxc:NavigationView
x:Name="NavigationView"
HorizontalContentAlignment="Left"
IsBackButtonVisible="Collapsed"
PaneDisplayMode="LeftMinimal"
SelectionChanged="SelectionChanged">
<muxc:NavigationView.MenuItems>
<muxc:NavigationViewItem
Content="Main Page"
Icon="Home"
Tag="MainPage" />
</muxc:NavigationView.MenuItems>
<Frame x:Name="MainFrame" Margin="0,0,0,0" />
</muxc:NavigationView>
</Grid>
И на моем C# у меня есть этот код, чтобы сделать заголовок прозрачным
public MainPage()
{
this.InitializeComponent();
var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;
var view = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
view.TitleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent;
view.TitleBar.ButtonInactiveBackgroundColor = Windows.UI.Colors.Transparent;
}
Проблема здесь в том, что если навигационное представление включено, то заголовок и содержимое страницы имеют немного другой цвет
Но если я закомментирую навигационное представление, это исправлено
Единственный способ, который я нашел, чтобы изменить цвет заголовка, — это использовать правильность фона в представлении навигации, но даже установив {ThemeResource AcrylicBackgroundFillColorDefaultBrush}, я не могу заставить его иметь тот же цвет, что и остальная часть страницы
Есть ли способ, чтобы у меня был точно такой же цвет фона для всего?
Ответ №1:
Пожалуйста, обратитесь к этому документу, NavigationView
содержит свойство IsTitleBarAutoPaddingEnabled, вы можете установить его как false, чтобы полностью расширить NavigationView
строку заголовка. Для получения более подробной информации, пожалуйста, обратитесь к этому документу.
<muxc:NavigationView IsTitleBarAutoPaddingEnabled="False"/>