【问题标题】:How to present XAML page in DirectX UWP app如何在 DirectX UWP 应用中呈现 XAML 页面
【发布时间】:2020-11-15 05:08:36
【问题描述】:

我有一个 UWP C++ 应用程序,它是从旧的良好 DirectX PC 游戏移植而来的。它根本不使用 XAML 的东西。有一个类Direct3DApplicationSource 实现了Windows::ApplicationModel::Core::IFrameworkViewSource 接口,一切都被初始化为简单

[Platform::MTAThread]
int main(Platform::Array<Platform::String^>^)
{
    auto direct3DApplicationSource = ref new Direct3DApplicationSource();
    Windows::ApplicationModel::Core::CoreApplication::Run(direct3DApplicationSource);
    return 0;
}

现在我需要在应用中添加视频播放器功能。我了解到最简单的方法是使用MediaPlayerElement,它会为视频播放器提供播放/停止/暂停 UI。

为了实现它,我需要像这样在我的应用中添加某种 XAML 页面:

Windows::UI::Xaml::Window::Current->Content = myVideoPlayerFrame;

但就我而言,Windows::UI::Xaml::Window::Current == nullptr 因为正如我所提到的,该应用程序最初是无 XAML 的。

有人知道如何将 XAML 页面“推送”到 DirectX 应用程序中,然后将其弹回吗?

【问题讨论】:

标签: xaml uwp uwp-xaml c++-cx


【解决方案1】:

我认为应用程序不可能做到这一点,但是您可以使用 SwapChainPanel 在 XAML 应用程序中呈现 DirectX 内容。

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 2015-03-17
    相关资源
    最近更新 更多