【发布时间】:2010-07-27 18:13:43
【问题描述】:
我注意到 WP7 工具的测试版存在一些问题:
- ApplicationBar 不再使用 CTP 解决方法导致页面调整其内容大小
- 使用来自 App.xaml 并作为静态资源导入的 ApplicationBar 无法按预期工作
在 WP7 工具的 CTP 版本中,当使用 appbar 并在页面之间导航时,appbar 保持在页面内容的顶部,而不是让内容自行调整大小以位于 appbar 的顶部。解决方法是在构造函数中将 IsVisible 属性设置为 false,并在页面加载事件上设置为 true。这不再起作用,除非完全关闭,否则应用栏将保持在加载页面的顶部。我在 app.xaml 中有我的 appbar xaml,每个页面都将它用作静态资源。
此外,不再为应用按钮触发 click 事件,我将 appbar 用作 App.xaml 中的资源,并在页面的 xaml 中添加为 {StaticResource}。任何帮助将不胜感激,因为这是我在应用程序中导航的唯一方法,除了滚动我自己的导航页面。
public CalculatorView()
{
InitializeComponent();
ApplicationBar.IsVisible = false;
SupportedOrientations = SupportedPageOrientation.Portrait;
Application.Current.RootVisual = this;
}
private void PhoneApplicationPageLoaded(object sender, RoutedEventArgs e)
{
ApplicationBar.IsVisible = true;
}
AppBar XAML:
<Shell:ApplicationBar x:Key="GlobalApplicationBar" IsVisible="True" IsMenuEnabled="True">
<Shell:ApplicationBar.Buttons>
<Shell:ApplicationBarIconButton x:Name="CalculaterAppIconButton" Click="CalculaterMenuItemClick" IconUri="/Images/Icons/32/Back.png" Text="Main" />
<Shell:ApplicationBarIconButton x:Name="HistoryAppIconButton" Click="HistoryMenuItemClick" IconUri="/Images/Icons/32/Intl-History.png" Text="History" />
<Shell:ApplicationBarIconButton x:Name="StatisticsAppIconButton" Click="StatisticsMenuItemClick" IconUri="/Images/Icons/32/Stats.png" Text="Stats" />
<Shell:ApplicationBarIconButton x:Name="OptionsAppIconButton" Click="OptionsMenuItemClick" IconUri="/Images/Icons/32/Settings.png" Text="Options" />
</Shell:ApplicationBar.Buttons>
<Shell:ApplicationBar.MenuItems>
<Shell:ApplicationBarMenuItem x:Name="StartingHandsMenuItem" Click="StartingHandsMenuItemClick" Text="Starting Hands" />
<Shell:ApplicationBarMenuItem x:Name="HoleOddsMenuItem" Click="HoleOddsMenuItemClick" Text="Hole Odds" />
</Shell:ApplicationBar.MenuItems>
</Shell:ApplicationBar>
手机申请页面中的AppBar:
ApplicationBar="{StaticResource GlobalApplicationBar}" //In my page.xaml
【问题讨论】:
-
这听起来有点像您找到了一种方法,使应用栏在 CTP 版本中以非标准方式运行,但不再有效?但是,当您说保持领先时,我不确定我是否理解您的意思。第二点 - 当我尝试使用应用栏作为静态资源时,我发现事件处理程序按预期调用。
-
顶部是指叠加层,应用栏最后绘制,因此它覆盖了下面的窗口内容。下面是它的外观链接:cid-66e5fcb98f941ac7.photos.live.com/self.aspx/Public/… 请注意,应该调整边框的大小,使其占据屏幕的顶部。第二次单击应用栏中的任何按钮只会显示动画。
标签: c# silverlight xaml mobile windows-phone-7