Windows运维之UWP Windows历史上最漂亮的UWP框架出炉
小标 2018-09-25 来源 : 阅读 1499 评论 0

摘要:本文主要向大家介绍了Windows运维之UWP Windows历史上最漂亮的UWP框架出炉,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

本文主要向大家介绍了Windows运维之UWP Windows历史上最漂亮的UWP框架出炉,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

本框架基于微软的开源项目WTS开发,并在其基础上增加了FDS(流畅设计元素,高光、亚克力等)、多语言系统、沉浸式体验(扩展内容到标题栏)
同时又保留了WTS的强大扩展性,你可以添加你所需要的页面,来快速定制自己个性化的App。
简介:
0、App.xaml(.cs)
  启动App的引导,包含了类似C语言的Main()函数一样
1、ShellPage.xaml(.cs)
  App的运行壳,修改其xaml可同意定制App的外观,同时包含了左侧导航菜单,右侧的Content。
  这二者都运用了Fluent Design System元素,所以App才显得这么漂亮
2、MainPage.xaml(.cs)
  主界面,即打开App要呈现给用户的界面
3、FirstRunDialog.xaml(.cs)
  第一次运行时展现给用户的信息,比如介绍一下你的App。可以通过修改资源文件中的FirstRun_Body.Text来实现
4、WhatsNewDialog.xaml(.cs)
  后续每次更新提供的更新日志等,可以通过修改资源文件中的AfterUpdate_Body.Text来实现
5、SettingsPage.xaml(.cs)
  设置面板,我增加了多语言选项,你基于本框架,还可以添加更多的语言。但是不要忘记在strings文件夹添加对应的资源文件
当然,光上面介绍的页面不能够满足对用户层面的需要,那么你可以使用WTS向导,添加需要的页面/功能。
在你添加了新的页面后,进入ShellPage.xaml.cs中,添加上对应的代码,实现菜单导航。
     private void PopulateNavItems()
       {
           _primaryItems.Clear();
           _secondaryItems.Clear();            // TODO WTS: Change the symbols for each item as appropriate for your app            // More on Segoe UI Symbol icons: https://docs.microsoft.com/windows/uwp/style/segoe-ui-symbol-font
           // Or to use an IconElement instead of a Symbol see https://github.com/Microsoft/WindowsTemplateStudio/blob/master/docs/projectTypes/navigationpane.md
           // Edit String/en-US/Resources.resw: Add a menu item title for each page
           _primaryItems.Add(ShellNavigationItem.FromType<MainPage>("Shell_Main".GetLocalized(), Symbol.Document));
           _secondaryItems.Add(ShellNavigationItem.FromType<SettingsPage>("Shell_Settings".GetLocalized(), Symbol.Setting));
       }
在拓展内容到标题栏的时候,需要区分一下桌面版和手机版代码略不同
手机版不需要设置标题栏,所以需要把标题栏所在的那一行行高设置为0(必选),并且进入全屏模式(可选)。
       if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
           {                // Hide default title bar.
               var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
               coreTitleBar.ExtendViewIntoTitleBar = true;
               UpdateTitleBarLayout(coreTitleBar);                // Set XAML element as a draggable region.                Window.Current.SetTitleBar(AppTitleBar);                var view = ApplicationView.GetForCurrentView();
               view.TitleBar.ButtonBackgroundColor = Colors.Transparent;                // Register a handler for when the size of the overlaid caption control changes.                // For example, when the app moves to a screen with a different DPI.
               coreTitleBar.LayoutMetricsChanged += CoreTitleBar_LayoutMetricsChanged;                // Register a handler for when the title bar visibility changes.                // For example, when the title bar is invoked in full screen mode.
               coreTitleBar.IsVisibleChanged += CoreTitleBar_IsVisibleChanged;
           }            else
           {
               rowTitleBar.Height = new GridLength(0);                var view = ApplicationView.GetForCurrentView();
               view.TryEnterFullScreenMode();
           }
还有一点必须注意的是,AppTitleBar背景色必须设置透明,否则标题栏不能移动双击等操作,切记!!!
<Grid x:Name="AppTitleBar" Background="Transparent">
关于设置里面的多语言,我选择了存储在本地
       private void comboBoxLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e)
       {            string temp = comboBoxLanguage.SelectedItem.ToString();            string[] tempArr = temp.Split(' ');
           ApplicationData.Current.LocalSettings.Values["strCurrentLanguage"] = tempArr[0];
       }
你也可以存储在RoamSettings里面来漫游设置,这样可以实现设置跨Win 10平台。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维windows频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程