首先ApplicationBar并不是PhoneApplicationPage visual tree的一部分;而是PhoneApplicationFrame的一部分。
那么PhoneApplicationPage的页面大小是多少呢?
我们以Windows Phone7为例,简单测试一下,在Page Loaded event中获取ActualHeight,我们发现:
1. 如果不启用ApplicationBar,那么Height是768
2. 如果这样设置ApplicationBar,那么Height是696
Code:
首先ApplicationBar并不是PhoneApplicationPage visual tree的一部分;而是PhoneApplicationFrame的一部分。
那么PhoneApplicationPage的页面大小是多少呢?
我们以Windows Phone7为例,简单测试一下,在Page Loaded event中获取ActualHeight,我们发现:
1. 如果不启用ApplicationBar,那么Height是768
2. 如果这样设置ApplicationBar,那么Height是696
如果这篇博客到此就结束,就太没有价值了。。。。
3. 我们把ApplicationBar稍作改动,为它加上opacity属性
Code:
<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Opacity="0.1">
        <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
        <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
            <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
再测试一下,发现ActualHeight竟然是768,也就是说PhoneApplicationPage和ApplicationBar共享了72个高度的空间。
Opacity属性用到的比较少,各位不妨试试!!!

Regards
Vincent
http://weibo.com/xueyw