Как создать прозрачную панель команд в Windows Phone 8.1

#c# #windows-phone-8.1

#c# #windows-phone-8.1

Вопрос:

как создать прозрачную панель команд в Windows Phone 8.1 Вот xaml

 <Page x:Class="App3.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"      
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  Background="White"      
  mc:Ignorable="d">

<Grid Background="Red" />

<Page.BottomAppBar>
    <CommandBar Background="#CCFFFFFF" Foreground="Black">
        <CommandBar.PrimaryCommands>
            <AppBarButton Label="Button1" />
        </CommandBar.PrimaryCommands>
    </CommandBar>
</Page.BottomAppBar>
  

Когда панель команд открыта, она имеет прозрачный фон, но за ней находится белая панель. Как удалить эту панель?

Комментарии:

1. Не будет ли тот факт, что ваша страница имеет Background="White" , подсказкой о том, откуда это берется?

2. Не совсем. Но ваш ответ дал мне идею. Я решил проблему следующим образом: <Фон сетки = «Красное» поле =»0,0,0,-60″ />

Ответ №1:

Используйте этот код в App.xaml.cs, метод OnLaunched, перед окном.Текущий.Активировать();

 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().SetDesiredBoundsMode(
ApplicationViewBoundsMode.UseCoreWindow);
  

РЕДАКТИРОВАТЬ : По умолчанию фреймворк размещает содержимое окна только в пределах видимой области. Следовательно, когда вы развернули панель приложений, за ней отображается базовый цвет (черный / белый), даже если вы установили панель приложений прозрачной. Итак, если вы хотите использовать все окно страницы целиком, вы должны использовать приведенный выше код, который устанавливает основное окно для всего приложения.

Комментарии:

1. Можете ли вы объяснить это решение?

Ответ №2:

Изменяя непрозрачность, вы можете сделать панель команд прозрачной или добавить x:Name в панель команд, если хотите изменить фон на прозрачный

 <CommandBar Background="#CCFFFFFF" Foreground="Black" x:name="op" opacity=0.4>
//and in the code
//add 
op.Background = new SolidnewBrush(Windows.UI.Colors.Transparent);`
  

Комментарии:

1. Когда я делаю непрозрачность фона, все содержимое тоже становится непрозрачным. Есть какой-нибудь способ избежать этого? В моем случае мне нужен только фон, а не содержимое.