我环顾四周,但找不到关于如何为 Windows Phone 应用程序实现搜索覆盖的良好参考。我想模拟搜索是如何在商店、音乐和其他系统类型的应用程序中实现的。
我用图标创建了应用程序栏,但不确定单击按钮时发生了什么。似乎在页面顶部过渡了一些叠加层。我可以效仿这一点,但由于这似乎是一个常见的场景,我希望会有一个指南来实现跨应用程序的一致体验。
我环顾四周,但找不到关于如何为 Windows Phone 应用程序实现搜索覆盖的良好参考。我想模拟搜索是如何在商店、音乐和其他系统类型的应用程序中实现的。
我用图标创建了应用程序栏,但不确定单击按钮时发生了什么。似乎在页面顶部过渡了一些叠加层。我可以效仿这一点,但由于这似乎是一个常见的场景,我希望会有一个指南来实现跨应用程序的一致体验。
没有官方控制可以为您做到这一点。在我的应用程序中,我执行以下操作来涵盖这种情况:
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>