WPF C # Как воспроизвести локальный файл .swf с элементом управления, который по-прежнему реагирует на поток? - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь воспроизвести файл .swf, сохраненный в выходной папке, но стандартный веб-браузер не реагирует на поток документа.Он не обрезается, когда достигает вершины Scrollviewer, и это проблема.Я пробовал CefSharp, но я могу только понять, как воспроизводить файлы .swf из Интернета.Существуют ли элементы управления, которые могут воспроизводить локальные файлы .swf и , реагирующие с потоком.

РЕДАКТИРОВАТЬ:

Вот код, который я использовал с CefSharpзагрузить файлы .swf.По сути, он загружает пустой HTML-файл, а затем запускает на нем JavaScript, чтобы создать правильный объект Flash с правильным путем.Это работает для веб-сайтов, но мне нужно запустить локальный файл .swf, и это не сработает (возможно, потому что CefSharp работает на Chromium и поэтому имеет определенные параметры безопасности, которые не позволяют таким образом получать доступ к файлам с компьютера).

if (TotalChecklistBrowser[itemNum].IsBrowserInitialized)
                                {
    TotalChecklistBrowser[itemNum].Load(@"blank.html");

    TotalChecklistBrowser[itemNum].FrameLoadEnd += (origin, args) =>
    {
        if (args.Frame.IsMain)
        {
            args.Frame.ExecuteJavaScriptAsync("document.body.innerHTML = \"\"; document.documentElement.style.overflow = \"hidden\"; document.body.style.margin = \"0\"; var obj = document.createElement(\"object\"); obj.width = \"260\"; obj.height = \"180\"; var param = document.createElement(\"param\"); param.id = \"item01\"; param.name = \"movie\"; param.value = \"" + BrowserTitles[itemNum].Replace(@"\", "/") + "\"; var embed = document.createElement(\"embed\"); embed.id = \"item02\"; embed.src = \"" + BrowserTitles[itemNum].Replace(@"\", "/") + "\"; embed.width = \"260\"; embed.height = \"180\"; document.body.appendChild(obj);  obj.appendChild(param); obj.appendChild(embed); ");
        }
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...