Как я могу расширить представление в строку заголовка в проекте JavaScript / CSS / HTML UPW? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь расширить представление в строке заголовка с помощью проекта UWP, основанного на JavaScript / CSS / HTML, и не могу понять, как получить доступ к правильным API. В примерах UWP от Github я нашел ссылку на пользовательский вспомогательный класс, написанный на c ++, но ссылка, которую я делаю на класс в javascript, не работает. Вот моя структура проекта

enter image description here

А вот и мой 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

1 Ответ

0 голосов
/ 11 мая 2018

Для расширения представления в строке заголовка в проекте JavaScript UWP вы можете создать простой компонент среды выполнения Windows и вызвать его из JavaScript . Ниже приведен подробный шаг.

В своем решении вы можете создать компонент C # Windows Runtime,

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 в качестве эталонного проекта. После этого вы можете вызвать метод 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...