UWP开发的小技巧
技巧一: 在Phone上拓展你的应用的显示区域。(WP8.1中也适用)
在Windows PHone手机上, 在手机屏幕最上方为System Tray,在手机屏幕下方为BottomAppbar, 应用的显示区域位于在这两者之间。若要使应用的显示区域拓宽,使用到了Windows.UI.ViewManagement的功能, 借助于其中的方法, 可以实现应用的全屏显示,即充满整个系统屏幕。
示例代码:
var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
appView.SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
技巧二: 检测应用当前运行在何设备上
假设程序员要在代码中检测当前设备的类型,从而提供个性化的页面显示,可以使用的的类名为Windows.System.Profile.AnalyticsInfo。 示例代码:
var platformFamily = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily;
platformFamily可选的值为Windows.Desktop, Windows.Mobile, etc。
技巧三: 页面的导航
UWP应用中页面的导航相较于WP8.1发生了变化, UWP中没有提供NavigationManager这样的类来实现页面导航, 主要是因为UWP以后, 同一套代码既运行在Phone上, 也运行在PC上。当然, 你可以去扩展Phone SDK, 但是更简单的办法是使用Windows.UI.Core.SystemNavigationManager, 使用这个方法能够兼顾到PC和Phone。 首先, 为了能使整个导航机制在所有页面上执行, 我们需要修改App.xaml.cs文件, 在OnLaunched(LaunchActivatedEventArgs e)方法中加入几行代码。
示例代码:
rootFrame.Navigated += (s, arg) =>
{
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
((Frame)s).CanGoBack ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed;
};
SystemNavigationManager.GetForCurrentView().BackRequested += (ss, arg1) =>
{
Frame rFrame = Window.Current.Content as Frame;
if (rFrame.CanGoBack)
{
arg1.Handled = true;
rFrame.GoBack();
}
};
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
rootFrame.CanGoBack ?
AppViewBackButtonVisibility.Visible :
AppViewBackButtonVisibility.Collapsed;
To customize this template, please head to VSWebEssentials for more information.
时间: 2024-10-13 15:53:30