2

我环顾四周,但找不到关于如何为 Windows Phone 应用程序实现搜索覆盖的良好参考。我想模拟搜索是如何在商店、音乐和其他系统类型的应用程序中实现的。

我用图标创建了应用程序栏,但不确定单击按钮时发生了什么。似乎在页面顶部过渡了一些叠加层。我可以效仿这一点,但由于这似乎是一个常见的场景,我希望会有一个指南来实现跨应用程序的一致体验。

  1. 带有搜索按钮的应用程序栏:https ://skydrive.live.com/redir?resid=1EBF644EEFCAD766!25155&authkey=!AB2pGcqFd9jo4JE
  2. 覆盖:https ://skydrive.live.com/redir?resid=1EBF644EEFCAD766!25156&authkey=!ALmHpcgyqYyvBfU
4

1 回答 1

2

没有官方控制可以为您做到这一点。在我的应用程序中,我执行以下操作来涵盖这种情况:

1 - 将搜索按钮添加到应用程序栏

2 - 单击按钮时,导航到新页面(例如 SearchPage.xaml):

NavigationService.Navigate(new Uri("/SearchPage.xaml", UriKind.Relative));

3 - 将焦点设置到该页面上 Loaded 事件中的搜索框以打开键盘(例如在 OnNavigatedTo 中执行此操作将不起作用):

mySearchTextbox.Focus();

4 - 使用Silverlight Toolkit for Windows Phone添加从/到页面的转换。我使用以下动画,它创建了与内置搜索页面非常相似的动画样式:

<toolkit:TransitionService.NavigationInTransition>
    <toolkit:NavigationInTransition>
        <toolkit:NavigationInTransition.Forward>
             <toolkit:SlideTransition Mode="SlideUpFadeIn" />
        </toolkit:NavigationInTransition.Forward>
        <toolkit:NavigationInTransition.Backward>
            <toolkit:SlideTransition Mode="SlideUpFadeIn" />
        </toolkit:NavigationInTransition.Backward>
    </toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>

<toolkit:TransitionService.NavigationOutTransition>
    <toolkit:NavigationOutTransition>
        <toolkit:NavigationOutTransition.Backward>
            <toolkit:SlideTransition Mode="SlideDownFadeOut" />
        </toolkit:NavigationOutTransition.Backward>
        <toolkit:NavigationOutTransition.Forward>
            <toolkit:SlideTransition Mode="SlideDownFadeOut" />
        </toolkit:NavigationOutTransition.Forward>
    </toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
于 2013-03-31T21:17:16.463 回答