asp.netを使用してWebブラウザー内に登録されたマルチポイントマウスSDKを使用してWPFを埋め込もうとしています。ウィンドウの代わりにページを登録しようとしましたが、ウィンドウにのみ登録できるようになっているようです。
Webブラウザ内に幅と高さが制限されたWPFウィンドウを設定できますか?
私はまだ開発が新鮮なので、すでに投稿されている関連情報や回答があれば申し訳ありません。
asp.netを使用してWebブラウザー内に登録されたマルチポイントマウスSDKを使用してWPFを埋め込もうとしています。ウィンドウの代わりにページを登録しようとしましたが、ウィンドウにのみ登録できるようになっているようです。
Webブラウザ内に幅と高さが制限されたWPFウィンドウを設定できますか?
私はまだ開発が新鮮なので、すでに投稿されている関連情報や回答があれば申し訳ありません。
簡単な答え:
いいえ、Multipoint 1.6 以降が登場しない限り。
これは、古いマルチポイント フォームに関する Microsoft からの投稿です。
「1.6の場合、このリリースではアクティブウィンドウの依存関係を削除する予定です。これにより、上記のように使用できるようになるだけでなく、WPFを直接使用できる完全な信頼のXBapsを作成できるようになります。 Windows フォーム ホストまたは ClickOnce インストーラーに埋め込む必要はありません (舞台裏では、XBap は、より自動化されたインストール プロセスを備えた clickonce ホスト内の単なる WPF アプリケーションです)。
この投稿は 2010 年に行われたもので、1.5 から 1.5.1 への更新以外は見ていないので、プロジェクトがまだ活発に開発されているかどうかはわかりません。 http://social.msdn.microsoft.com/Forums/en-NZ/mptgen/thread/e0891d93-6ad1-4977-b59c-3a5d5963ef8c
長い答え:
Multipoint SDK は Web ベースとして構築されていません。そうは言っても、これは私がそれについて行った方法です。com に公開された winform を作成して、activex コントロールとして機能させました。私の記憶が正しければ、その中にネイティブの WPF ウィンドウがありました。ActiveX コントロールは、顧客のマウス イベントを使用して JavaScript への com インターフェイスを介してページと通信しました。Multipoint SDK はこのように設計されていないため、多くの問題が発生しました。まず、本物のマウスで何をしますか? 非表示にしてロックしただけですが、どうすれば元に戻すことができますか。そのため、アクティブ化および非アクティブ化するボタンがあります。マルチポイントが機能するには、アクティブなウィンドウである必要があるため、同じページの ActiveX コントロールに埋め込んでいます。新しいページが読み込まれると、次のページが読み込まれるまで、実際のマウスは自由になり、すべてのマウスがそれを制御しました。
Multipoint SDK はほぼ完璧に動作しましたが、動作させることができなかったいくつかの機能が欲しかっただけです。これは、Multipoint SDK の現在のビルドで制限に達したため、プラグインを再作成する必要があったときです。主なものは、すべてのブラウザーで動作する機能と、Silverlight のブラウザー外でのオフライン サポートです。ActiveX はこれらでは機能しません。プラグインは別のものにする必要がありました。問題は、マルチポイントがアクティブなウィンドウである場合にのみ機能することです。また、マルチポイントを使用した ActiveX ソリューションはバグが多く、ユーザーフレンドリーではありませんでした。後で、すべてのマウスではなく、1 つのマウスで実際のマウスを制御するためのサポートが必要でした。これらのシナリオのそれぞれで、マルチポイントはほぼ完璧に機能し、最もクリーンなソリューションでした。
つまり、mymousegames.com の現在のバージョンはマルチポイントを使用せず、顧客が作成した生のマウス ハンドラーを使用します。プラグインは、すべてのブラウザで動作するように作成されています。現在の動作方法は、生のマウス入力をフィルタリングし、ソケット経由で Silverlight に送信することです。このソリューションは、activex バージョンよりもはるかに柔軟です。プラグインは、より Web ベースに感じられる Click Once でデプロイされます。私の目には、コンピューターでアプリケーションを実行する必要があるため、Web ベースではありませんが、平均的なユーザーにとっては、非常に Web ベースであり、それがすべて重要であると感じます。
次のリリースでは、非アクティブ時にマウス入力を受け取るフラグがあることを願っています。次に、カスタム コードを取り出して、プラグインのきれいなコアを作成します。カスタムの raw マウス ハンドラーを作成するために、インターネットでサンプルを調べました。RawinputSharp は、複数のマウスを使用してマルチタッチをシミュレートするためのモジュールとして、マルチタッチ Vista と同様に非常に役立ちました。
したがって、私のアドバイスは、間もなくリリースされると思われる次のリリースまで待って、ソケットを介して Silverlight またはフラッシュと通信するプラグインを構築するか、activex コントロールを作成して JavaScript を介して通信することです。または、WPF アプリケーションを作成し、Click Once を使用してデプロイするだけで、非常に Web ベースのように感じられます。
これは、古いマルチポイント フォームに関する Microsoft からの投稿です。
「1.6の場合、このリリースではアクティブウィンドウの依存関係を削除する予定です。これにより、上記のように使用できるようになるだけでなく、WPFを直接使用できる完全な信頼のXBapsを作成できるようになります。 Windows フォーム ホストまたは ClickOnce インストーラーに埋め込む必要はありません (舞台裏では、XBap は、より自動化されたインストール プロセスを備えた clickonce ホスト内の単なる WPF アプリケーションです)。この投稿は 2010 年のもので、1.5 から 1.5.1 以外の更新バージョンは見ていないので、プロジェクトがまだ活発に開発されているかどうかはわかりません。
http://social.msdn.microsoft.com/Forums/en-NZ/mptgen/thread/e0891d93-6ad1-4977-b59c-3a5d5963ef8c