导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

如何使用代码为 Windows Phone 创建应用栏

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

您可以使用 C# 或 Visual Basic 代码创建一个应用程序栏,以便为用户提供对应用程序常见任务的快速访问。若要决定应该采用 XAML 还是采用代码创建应用程序栏,请参见 Windows Phone 的应用栏

下图显示了应用程序栏由用户展开后的示例。

App Bar expanded with menu items

本主题包括以下部分。

可以全部采用代码向应用程序中添加应用程序栏,而不编辑 XAML 文件。该过程假定您拥有包含一个页面的 Windows Phone 应用程序。在对应用程序栏上的图标按钮使用图像之前,必须首先将这些按钮添加到您的应用程序。有关更多信息,请参见 Windows Phone 的应用栏图标按钮

采用代码创建应用程序栏的步骤

  1. 在编辑器中打开您页面的代码隐藏文件。

  2. 在代码的顶部,添加以下语句。

    Imports Microsoft.Phone.Shell
    
  3. 在页面的构造函数中,在对 InitializeComponent 的调用之后,添加以下代码。该代码初始化新的 ApplicationBar 对象并将该对象分配给页面的 ApplicationBar 属性。

    ApplicationBar = new ApplicationBar()
    
  4. 根据需要设置应用程序栏属性。有关属性的更多信息,请参见 Windows Phone 的应用栏

    ApplicationBar.Mode = ApplicationBarMode.Default
    ApplicationBar.Opacity = 1.0
    ApplicationBar.IsVisible = true
    ApplicationBar.IsMenuEnabled = true
    
  5. 根据需要创建一个或多个 ApplicationBarIconButton 对象。设置图标图像和按钮文本,然后将它们添加到应用程序栏。如果您未设置按钮文本,则会发生运行时异常。

    Dim button1 as ApplicationBarIconButton = new ApplicationBarIconButton()
    button1.IconUri = new Uri("/Images/YourImage.png", UriKind.Relative)
    button1.Text = "button 1"
    ApplicationBar.Buttons.Add(button1)
    
  6. 菜单项是可选的。根据需要创建一个或多个 ApplicationBarMenuItem 对象。设置文本,然后将它们添加到应用程序栏。

    Dim menuItem1 as ApplicationBarMenuItem = new ApplicationBarMenuItem()
    menuItem1.Text = "menu item 1"
    ApplicationBar.MenuItems.Add(menuItem1)
    
  7. 下面是一个已完成的应用程序栏示例。在下面的过程中将添加单击事件和处理程序。

    Public Sub New()
        InitializeComponent()
            
        ApplicationBar = new ApplicationBar()
    
        ApplicationBar.Mode = ApplicationBarMode.Default
        ApplicationBar.Opacity = 1.0
        ApplicationBar.IsVisible = true
        ApplicationBar.IsMenuEnabled = true
    
        Dim button1 as ApplicationBarIconButton = new ApplicationBarIconButton()
        button1.IconUri = new Uri("/Images/YourImage.png", UriKind.Relative)
        button1.Text = "button 1"
        ApplicationBar.Buttons.Add(button1)
    
        Dim menuItem1 as ApplicationBarMenuItem = new ApplicationBarMenuItem()
        menuItem1.Text = "menu item 1"
        ApplicationBar.MenuItems.Add(menuItem1)
    End Sub
    

图标按钮和菜单项公开您可以采用代码处理的单击事件。

处理单击事件的步骤

  1. 在编辑器中打开您页面的代码隐藏文件。

  2. 对于每个图标按钮和菜单项,确定用户单击时要调用的事件。下面是来自上一过程的应用程序栏的示例,其中标识了单击事件。

    Dim button1 as ApplicationBarIconButton = new ApplicationBarIconButton()
    button1.IconUri = new Uri("/Images/YourImage.png", UriKind.Relative)
    button1.Text = "button 1"
    ApplicationBar.Buttons.Add(button1)
    AddHandler button1.Click, AddressOf button1_Click
    
    Dim menuItem1 as ApplicationBarMenuItem = new ApplicationBarMenuItem()
    menuItem1.Text = "menu item 1"
    ApplicationBar.MenuItems.Add(menuItem1)
    AddHandler menuItem1.Click, AddressOf menuItem1_Click
    
  3. 对于每个图标按钮和菜单项,添加用户单击时要调用的事件。在页面类中添加代码。下面是来自上一过程的应用程序栏的单击事件示例。

     Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    
        MessageBox.Show("Button 1 works!")
        'Do work for your application here.
    End Sub
    
    
    Private Sub menuItem1_Click(ByVal sender As Object, ByVal e As EventArgs)
    
        MessageBox.Show("Menu item 1 works!")
        'Do work for you application here.  
    End Sub
    

显示:
© 2014 Microsoft