5

C# WinRT コンポーネント ライブラリを介して REST/JSON Web サービスにアクセスする JavaScript (WinJS) を使用して WinRT アプリケーションを構築しています。コンポーネント ライブラリには、REST サービスで ACS ログオンを使用できるようにする Logon コントロール (WebAuthenticationBroker によく似ています) があります。

アプリケーション層:

  • クライアント (JS)
  • WinRT コンポーネント dll (C#)
  • C# ClassLibrary dll (C#)
  • UserControl (Xaml/C#、WebView を含む)

問題: ログオン コントロールを作成しようとすると、Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher ( WinJS/C++ コンポーネントについて見つけた MSDN の記事で推奨)。

Xaml/C# クライアントから呼び出すと、コードは Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher.RunAsync() の有無にかかわらず機能します。

これをグーグルで検索し、UserControl、Dispatcher、および WinJS のドキュメントをすべて読んでみましたが、関連するものは見つかりませんでした。これは既知の問題ですか?誰かが回避策を提案できますか?

私は初めての投稿者なので、お手柔らかにお願いします :-) どんな助けも大歓迎です!

4

2 に答える 2

3

Xaml ベースの WinRT コントロールは、Javascript ベースの WinRT プロジェクトでは使用できません。任意の WinRT クラス ライブラリを使用できますが、それらの内部の Xaml コントロールは使用できません。

それでも HTML-Javascript を Xaml と組み合わせたい場合は、Xaml ベースのプロジェクトを作成し、HTML UI をWebView コントロールにラップすることをお勧めします。

于 2013-01-17T18:32:50.220 に答える
2

HTML/WinJS アプリで WinRT/XAML UI を使用できるとは思いません。XAML ではなく、WinJS アプリ/コンポーネント ライブラリで UI を作成するように要求するには、おそらくいくつかのコールバックを使用する必要があります。

于 2013-01-17T17:07:45.007 に答える