私は、アプリケーションウィンドウを引き継ぐ必要があるOpenGL/DirectXを使用するプラグインを持つcordovaアプリケーションを持っています。実際にアプリケーションウィンドウの内容を設定するまで、私はすべてうまく動作しています。私は、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();
}
aceはWindowsでは動作しません:( – Kyle
@Kyleあなたは正しいです、忘れました、申し訳ありません。私は答えを更新しました。現在、XAMLターゲティングウィンドウを読み込む他の方法はありません。 –