0
我有一个cordova应用程序,它有一个使用需要接管应用程序窗口的OpenGL/DirectX的插件。我一切都很好,直到我实际设置应用程序窗口的内容。当我去实例化XAML页面我得到一个错误约不是在正确的线程:如何以编程方式将窗口视图替换为WinJS应用程序中的XAML页面?
RPC_E_WRONG_THREAD应用程序调用这是编组为一个不同的线程的接口。
我见过有几个人说这是不可能的,但我觉得它必须有可能在某种程度上,除非窗口是沙盒或什么的。我也在想这个问题可能是XAML后端服务/框架/任何不是在WinJS应用程序中设置?在这种情况下,有什么方法可以手动设置?
我会很感激任何帮助,至少可以解释为什么这是不可能的。我对Windows编程相当陌生,我很欣赏知道为什么不能做的事情。
谢谢!
P.S.
我也试着运行创建调度程序内的XAML类的代码:
Windows::ApplicationModel::Core::CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync
这里是我的代码:
void MyComponent::doStuff(){
if (m_directXPage == nullptr)
{
try
{
m_directXPage = ref new DirectXPage();
}
catch (const std::exception& e)
{
e.what();
}
}
// Place the page in the current window and ensure that it is active.
Window::Current->Content = m_directXPage;
Window::Current->Activate();
}
王牌不能在Windows上工作:( – Kyle
@凯尔你是对的,忘记了,很抱歉,我已经更新了答案,目前没有其他方法来加载XAML定位窗口。 –