ApplicationBar未显示在Windows Phone HTML模板中

时间:2014-04-01 06:31:07

标签: windows-phone-8

我在新的Windows Phone HTML模板中创建了代码后面的应用程序栏。最初应用程序栏是在xaml但我删除它。我创建了我的应用程序栏,就像我通常在后面的代码中所做的那样,尽管在这个模板中出于某种原因它不会出现。我无法弄清问题是什么,我没有错误。我的代码如下。我在模板的XAML中唯一做的就是添加一个pivot控件,我将浏览器的可见性设置为false。我的代码如下。有什么想法吗?

XAML

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">

    <phone:Pivot>
        <phone:Pivot.TitleTemplate>
            <DataTemplate>
                <TextBlock Text="APPLICATION NAME">
            </DataTemplate>
        </phone:Pivot.TitleTemplate>

        <phone:PivotItem Header="one">           
        </phone:PivotItem>

        <phone:PivotItem Header="two">
        </phone:PivotItem>

    </phone:Pivot>

    <phone:WebBrowser x:Name="Browser" Visibility="Collapsed"
                      IsScriptEnabled="True"
                      HorizontalAlignment="Stretch"
                      VerticalAlignment="Stretch"
                      Loaded="Browser_Loaded"
                      Navigated="Browser_Navigated"
                      NavigationFailed="Browser_NavigationFailed"                          
                      ScriptNotify="Browser_ScriptNotify"/>

    <ProgressBar x:Name="PerformanceProgressbar"
                 VerticalAlignment="Top"
                 IsIndeterminate="False"
                 Visibility="Collapsed">
</Grid>

XAML.CS

public MainPage()
    {
        InitializeComponent();

        BuildLocalizedApplicationBar();
    }   

    private void BuildLocalizedApplicationBar()
    {
        ApplicationBar appbar = new ApplicationBar();
        /appbar.Mode = ApplicationBarMode.Minimized;

        ApplicationBarMenuItem settings = new ApplicationBarMenuItem();
        settings.Text = AppResources.MainPage_Settings;
        settings.Click += settings_Click;

        appbar.MenuItems.Add(settings);
    }

2 个答案:

答案 0 :(得分:0)

使用此代码可以正常工作:

click here for more details

private void BuildLocalizedApplicationBar()
    {
        ApplicationBar appbar = new ApplicationBar();
        /appbar.Mode = ApplicationBarMode.Minimized;

        ApplicationBarMenuItem settings = new ApplicationBarMenuItem();
        settings.Text = AppResources.MainPage_Settings;      
        ApplicationBar.MenuItems.Add(settings );
        settings.Click += new EventHandler(settings_Click);

    }

答案 1 :(得分:0)

您只是创建一个对象ApplicationBar,但您没有将其添加到您的Page。 Page有一个property ApplicationBar,您应该使用创建的class ApplicationBar实例进行设置。

什么可行:

private void BuildLocalizedApplicationBar()
{
    ApplicationBar appbar = new ApplicationBar(); 
    /appbar.Mode = ApplicationBarMode.Minimized;

    ApplicationBarMenuItem settings = new ApplicationBarMenuItem();
    settings.Text = AppResources.MainPage_Settings;
    settings.Click += settings_Click;

    appbar.MenuItems.Add(settings);
    this.ApplicationBar = appbar; // or simply ApplicationBar = appbar;
    // you can also add Appbar directly = ApplicationBar = new ApplicationBar();
    // and then modify via this property
}

请注意,您可以拥有许多ApplicationBars(对象)并轻松交换它们。