什么是Windows Store应用程序相当于Windows Store Phone应用程序中的StatusBar?

时间:2015-03-22 02:17:48

标签: windows-phone-8 windows-8

Windows Store Phone Apps顶部有一个名为StatusBar的栏,可在代码@Windows.UI.ViewManagement.StatusBar中访问。它在this Windows Phone Store应用程序简介中标记为有用。

然后在Windows应用商店应用程序(即您在台式PC上运行的应用程序)的顶部有一个栏,只有当您将鼠标悬停在屏幕顶部附近时才显示该栏。 Here是它的照片,它是图像顶部的黑色条。

那个黑条叫什么?组件存储在Windows.UI库中的哪个位置?我正在寻找一些相当于Windows.UI.ViewManagement.StatusBar,我没有运气,因为我不知道它叫什么,所以试图在文档中找到它。

2 个答案:

答案 0 :(得分:2)

它被称为标题栏,它是Windows的一部分,因为可能是第一个版本,它不是Metro特定的。它已添加到8.1中的Metro应用程序中,以便用户更轻松地关闭应用程序。您无法从代码访问它,也没有API。

答案 1 :(得分:2)

对于Windows 8.1及更低版本,没有这样的API。

但是,Windows 10将为标题栏as described and explored引入API。 Tweetium和VLC已经在他们的应用中实现了这一功能。

从上面的网站,这里有一些你已经可以使用的代码,虽然W10 API还没有发布:

var v = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
var allProperties = v.GetType().GetRuntimeProperties();
var titleBar = allProperties.FirstOrDefault(x => x.Name == "TitleBar");
if (titleBar == null) return;
dynamic titleBarInst = titleBar.GetMethod.Invoke(v, null);
titleBarInst.BackgroundColor = Colors.CornflowerBlue;
titleBarInst.ForegroundColor = Colors.Red;
titleBarInst.ButtonBackgroundColor = Colors.DimGray;
titleBarInst.ButtonForegroundColor = Colors.Orange;

因此,使用Win 10 API(尚未发布!),应该可以使用以下代码:

var v = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();        
v.TitleBar.BackgroundColor = Colors.CornflowerBlue;
v.TitleBar.ForegroundColor = Colors.Red;
v.TitleBar.ButtonBackgroundColor = Colors.DimGray;
v.TitleBar.ButtonForegroundColor = Colors.Orange;