window phone 7 开发学习笔记(三)—— 控件(Application Bar)

Application Bar 是位于屏幕下面的功能列,其中提供了 IconButton 以及 MenuItem 两种控件可以使用,例如下图,左图是一般情形下 Application Bar 的外观,而右图是点下 Application Bar 之后展开项目的外观

 

在 Application Bar 的使用上,IconButton 一个页面上最多能够使用到四个,如果您要自定义这些图案的话,您也可以参考一下 UI Design Guide 的说明。而使用时跟一般按钮 (button) 相当的类似,最常需要处理的就是 click 事件了,例如下面的方式

private void ApplicationBarIconButton_Click(object sender, EventArgs e)
{
    textBox1.Text = (sender as ApplicationBarIconButton).Text;
}

MenuItem 的部分也是类似的处理方式,处理 click 事件的程序代码大致像下面这样

private void ApplicationBarMenuItem_Click(object sender, EventArgs e)
{
    textBox1.Text = (sender as ApplicationBarMenuItem).Text;
}

而 Application Bar 本身也有一些属性供程序开发使用,例如说,可不可以让 Application Bar 消失呢?可以的,只要设定 Visible 的属性就可以了,像是下面这段程序代码,是当 checkbox 被点击时,同步去设定 Visible 属性

void checkBox1_Click(object sender, RoutedEventArgs e)
{
    this.ApplicationBar.IsVisible = checkBox1.IsChecked.Value;
}

另外,还有一个很重要的地方需要注意;在 Application Bar 的属性中,可以利用 Opacity 的属性去设定透明度,设定透明效果之后,除了可以看到背景图案之外,不透明 (Opacity=1) 与具透明效果 (Opacity != 1) 这两种状态在『实际可使用的画面大小』是不一样的;笔者在这个例子中,是在 ContentPanel 的 sizechanged 事件中去抓取目前可用画面的大小

void ContentPanel_SizeChanged(object sender, SizeChangedEventArgs e)
{
    textBox1.Text = ContentPanel.ActualHeight.ToString();
}

挂载相关事件后,您可以看到再 Application Bar 的 Opacity=1 时,可用的大小是 535,而一改变 Opacity 的值时,可用空间马上就会变成 607 了,这个部分要留意一下。

 

你可能感兴趣的:(windows,phone)