如何在Windows Phone 8.1中创建透明命令栏

时间:2014-07-02 05:55:45

标签: 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>

当CommandBar打开时,它具有透明背景,但后面有一个白色面板。热门删除此面板?

2 个答案:

答案 0 :(得分:9)

在Window.Current.Activate()之前的App.xaml.cs,OnLaunched方法中使用此代码;

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

编辑:默认情况下,框架仅在可见区域内布置窗口内容。因此,当您展开appbar时,它会显示背后的基色(黑/白),尽管您将appbar设置为透明。因此,如果您想使用整个页面窗口,则必须使用上面的代码,该代码在整个应用程序中设置核心窗口。

答案 1 :(得分: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);`