Windows Phone ApplicationBar(3)
Windows Phone ApplicationBar包含了ApplicationBarIconButton和ApplicationBarMenuItem,最多只能添加四个按钮,菜单通过ApplicationBar右边的省略号来展开,都继承自Microsoft.Phone.Shell命名空间,所以在引用时前面都有shell的标志,如:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton x:Name="appbarbutton1" IconUri="/icons/appbar.save.rest.png" Text="Save" Click="appbarbutton1_Click"/>
<shell:ApplicationBarIconButton x:Name="appbarbutton2" IconUri="/icons/appbar.delete.rest.png" Text="Delete"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem x:Name="appbarmenuitem1" Text="Open"/>
<shell:ApplicationBarMenuItem x:Name="appbarmenuitem2" Text="Exit"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
一 添加图标
ApplicationBarIconButton的图标可以使用自己设计的图标(尺寸48 x 48),也可以使用系统的图标,系统的图标通过Blend 4.0来添加,如下图
二 通过代码访问ApplicationBar
从XAML页面中可以看出,ApplicationBarIconButton和ApplicationBarMenuItem是继承自ApplicationBar,ApplicationBar又继承自PhoneApplicationPage命名空间,而其他SilverLight页面控件是直接继承自PhoneApplicationPage命名空间的。
所以访问ApplicationBar的控件不能像访问Page内容一样,首先添加命名空间Microsoft.Phone.Shell,如
using System;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
namespace PhoneApp1
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
appbarbutton1 = ApplicationBar.Buttons[0] as ApplicationBarIconButton;
appbarmenuitem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem;
}
private void appbarbutton1_Click(object sender, EventArgs e)
{
appbarbutton1.IconUri = new Uri("/icons/appbar.stop.rest.png", UriKind.RelativeOrAbsolute);
appbarmenuitem1.Text = "Close";
}
}
}
三 示例
分类:
Windows Phone
标签:
Windows Phone
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库