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

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>

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

  • 0
    Разве тот факт, что на вашей странице есть Background="White" не является намеком на то, откуда она берется?
  • 1
    Не совсем. Но твой ответ дал мне идею. Я решил проблему следующим образом: <Grid Background = "Red" Margin = "0,0,0, -60" />
Теги:
windows-phone-8.1

2 ответа

9

Используйте этот код в App.xaml.cs, OnLaunched Method, перед Window.Current.Activate();

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

EDIT: Bydefault, рамочная структура только отображает содержимое окна только в видимой области. Следовательно, когда вы расширили панель приложений, она отображает basecolor (черный/белый) за ней, хотя вы установите прозрачную панель приложения. Поэтому, если вы хотите использовать полное окно страницы, вам нужно использовать приведенный выше код, который устанавливает основное окно во всем приложении.

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

Изменяя непрозрачность, вы можете сделать прозрачную панель команд или добавить 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);'
  • 0
    Когда я создаю прозрачность фона, весь контент тоже становится прозрачным. Есть ли способ избежать этого? В моем случае мне нужен только фон, а не содержание.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню