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定位窗口。 –