如何将视图扩展到JavaScript/CSS/HTMLUPW项目中的标题栏?
我试图用一个基于JavaScript/CSS/HTML的UWP项目将视图扩展到标题栏中,但我不知道如何访问正确的API。在Github的UWP样本中,我找到了一个引用C++编写的自定义助手类的引用,但是我在JavaScript中对类的引用不起作用。这是我的项目结构 这是我的javascript如何将视图扩展到JavaScript/CSS/HTMLUPW项目中的标题栏?,javascript,css,uwp,Javascript,Css,Uwp,我试图用一个基于JavaScript/CSS/HTML的UWP项目将视图扩展到标题栏中,但我不知道如何访问正确的API。在Github的UWP样本中,我找到了一个引用C++编写的自定义助手类的引用,但是我在JavaScript中对类的引用不起作用。这是我的项目结构 这是我的javascript (function () { setupPanel(); configTitlebar(); })(); function setupPanel() { Windows.UI.
(function () {
setupPanel();
configTitlebar();
})();
function setupPanel() {
Windows.UI.ViewManagement.ApplicationView.preferredLaunchViewSize = { width: 700, height: 320 };
Windows.UI.ViewManagement.ApplicationView.preferredLaunchWindowingMode = Windows.UI.ViewManagement.ApplicationViewWindowingMode.preferredLaunchViewSize;
}
function configTitlebar() {
var titleBar = Windows.UI.ViewManagement.ApplicationView.getForCurrentView().titleBar;
titleBar.backgroundColor = { a: 0, r: 255, g: 255, b: 255 };
titleBar.foregroundColor = { a: 255, r: 255, g: 255, b: 255 };
titleBar.buttonBackgroundColor = { a: 0, r: 255, g: 255, b: 255 };
titleBar.buttonForegroundColor = { a: 255, r: 255, g: 255, b: 255 };
var titleBarHelper = CoreViewHelpers.CoreTitleBarHelper.getForCurrentView();
var extend = extendView.checked;
titleBarHelper.extendViewIntoTitleBar = extend;
}
当我尝试引用CoreViewHelpers时,会出现此错误
Unhandled exception at line 18, column 5 in ms-appx://3146901b-10fb-4c64-95cb-a923fbe5c04e/js/main.js
0x800a1391 - JavaScript runtime error: 'CoreViewHelpers' is not defined
我试图从他们的(微软的)Github示例中获得以下信息:要将视图扩展到JavaScript UWP项目的标题栏中,您可以。以下是详细的步骤 在您的解决方案中,您可以创建一个C#Windows运行时组件
namespace TitleBarHelper
{
public sealed class CoreTitleBarHelper
{
public void ExtendViewIntoTitleBar(bool IsExtend)
{
var currentview = Windows.ApplicationModel.Core.CoreApplication.GetCurrentView();
currentview.TitleBar.ExtendViewIntoTitleBar = IsExtend;
}
}
}
然后在WinJS UWP项目中,您应该添加Windows运行时组件项目作为参考项目。之后,您可以调用extendedviewintotitlebar
方法将视图扩展到标题栏
"use strict";
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
var isFirstActivation = true;
var helper = new TitleBarHelper.CoreTitleBarHelper();
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.voiceCommand) {
// TODO
}
else if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.arguments) {
// TODO
}
else if (args.detail.previousExecutionState === activation.ApplicationExecutionState.terminated) {
// TODO
}
helper.extendViewIntoTitleBar(true);
}
我添加了C#运行时组件并将其作为对我的WinJS项目的引用添加,但是当我引用“var helper=new TitleBarHelper.coreTileBarHelper();”时,我得到一个未知的运行时错误。有什么想法吗?错误描述一点帮助都没有,只是说它是未知的。@MaxMcKinney它很奇怪,在我这边工作得很好,没有任何错误,你能创建一个复制项目并提供链接帮助我查看问题吗?我在另一台计算机上测试了我的项目,没有问题!我使用的系统上一定有什么东西损坏了。谢谢你的帮助!