【发布时间】: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 应用程序中,然后将其弹回吗?
【问题讨论】: