Я пытаюсь расширить представление в строке заголовка проектом UWP на основе JavaScript/CSS/HTML, и я не могу понять, как получить доступ к правильным API. В образцах UWP из Github я нашел ссылку на пользовательский вспомогательный класс, написанный в c++, но ссылка, которую я делаю в классе в javascript, не работает. Здесь моя структура проекта
И вот мой javascript
(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
Я пытаюсь получить эту информацию из своего (Microsoft) примера Github: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/TitleBar/js
Чтобы расширить представление в строке заголовка в проекте JavaScript UWP, вы можете создать простой компонент времени выполнения Windows и вызвать его из JavaScript. Ниже приведен подробный шаг.
В вашем решении вы можете создать компонент Runtime С# 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 Runtime в качестве эталонного проекта. После этого вы можете вызвать метод ExtendViewIntoTitleBar
чтобы расширить представление в строке заголовка.
"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);
}