問題タブ [windowsformshost]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF - Windows フォームの相互運用
フォーム間の相互運用について少し混乱しています。DevExforms を使用して開発された c#.Net アプリケーションがあります。一方、3D GUI として使用したい XNA アプリケーションがあります。しかし、それらの間で対話することは困難です。もちろん、それは役に立たず、醜いものでもあります。
したがって、WPF を使用して 3D モデル ビューアー アプリを開発する方法が見えますが、WPF コントロールと Windows フォーム コントロールが相互にやり取りするには .Net Framework 4.5 が必要です。ただし、VS2010 を使用する必要があります。
だから私は混乱しています。私は何をしなければなりません。Windows フォームを使用して 3D アプリを簡単に開発するにはどうすればよいか、どのプラットフォームとアプリをやり取りするにはどうすればよいでしょうか。実際、あなたが私だったらどうしますか?
c# - WPFとwinformの統合、イベントのキャッチ
簡単な質問:
複数のコントロール(ボタンなど)を含むWinフォームパネルを持つWPFアプリケーションでイベントをキャッチし、各ボタンイベントをキャッチするにはどうすればよいですか?
また、WinフォームパネルにWPFボタンを追加して、それらのイベントをキャッチすることは可能ですか?
WPFアプリケーション(ムービープレーヤー)があります。
サードパーティのAPI(ビデオ)からwinformコントロールを受け取ります。
このコントロールを再生するには、WindowsFormsHostを使用する必要があります。
コントロールのイベントをキャッチしたい場合は、コントロールをWindowsFormsHostに追加する前にイベントを登録する必要があります。しかし、多くのコントロールを備えたパネルがある場合、すべてのイベントがキャッチされません。
私が達成したいのは、WinフォームコントロールにWPF停止/開始ボタンをロードできることです。
ありがとう
c# - WindowsFormHost ペイント イベントが発生しない
WPF アプリに WindowsFormHost を持つパネルがあります。最終的には、ポイントをクリックして描画できるようにする必要があります。別の WinForm フォームで完全に動作していましたが、何らかの理由で、Invalidate() が呼び出されたときにペイント イベントがまったく発生しません。クリックするとメッセージ ボックスが表示されるため、クリック イベントは確実に発生します。とはいえ、塗装からのぞき見ではありません。私の人生の理由を理解できません...これがコードです。
XML:
C#
編集:
そして、ペイントイベントが問題であることをさらに確認するためg.FillEllipse(s,400,400,400,400);
に、クリックイベントに線を追加すると、楕円が正常に描画されました。
wpf - データグリッド内で WindowsFormsHost を使用すると、スクロール領域がオーバーランする
データグリッド内で WindowsFormsHost を使用しているときに、コントロールがグリッドのスクロール可能な領域をオーバーランします。
ここに記載されているソリューションを使用してみましたが、ScrollViewer は WPF WindowsFormHost で動作しません。
ScrollableWindowsFormsHost クラスを使用して、コントロールをスクロール領域に制限することもできます。ただし、セル内を 2 回クリックしない限り、Winforms コントロール (Winforms コンボ ボックスから派生したコントロール) は表示されません (最初にセルにフォーカスをクリックし、2 回目のクリックでコンボボックスを描画します)。これは、ウィンドウの再描画時に再び消えます。 .
xaml から:
ScrollableWindowsFormsHost からのコード。
wpf - WPF で既定の ContextMenu を持つ WindowsFormsHost に新しい contextmenu 項目を追加します。
同等の WPF を持たない ActiveX または Windows フォーム コントロールを使用しているため、当然 WindowsFormsHost を使用してこれらのコントロールをホストします。通常は、一般的な機能を実装するためのボタンなどの一般的なコントロールを使用して UserControl を作成します。xaml コードの一部は次のようなものです。
AxPivotTable は OWC (オフィス Web コンポーネント) コントロールです。別の UserControl では、WindowsFormsHost 内に ReportViewer を追加します。通常、追加した ContextMenu 項目がなくても、AxPivotTable または ReportViewer には既定のコンテキスト メニューがあることに注意してください。
これまでのところ、カスタマイズした ContextMenu はまだ表示されていません (まだデフォルトのものが表示されています)。この質問のおかげで、コード ビハインドとセットでマウス ダウン イベントをキャプチャする必要があることがわかりました。
コンテキストメニューを表示します(奇妙ですが)。
今私の問題は、この Test1 ContextMenu だけが今ここにあるということです。デフォルトの ContextMenu は表示されなくなります。前述したように、これらの既定のコンテキスト メニューの上にカスタマイズされたものを追加する必要があります。
wpf - WPF で WinForm/ActiveX (WindowsFormsHost によってホストされる) コントロールの独自のコンテキスト メニューの上にコンテキスト メニュー項目を追加する方法
WindowsFormsHost を使用して、いくつかの WinForms または ActiveX コントロールを利用する WPF UserControl を作成しています。たとえば、ある UC には次のようなコードがあります。
ReportViewer は Microsoft.Reporting.WinForms にあります。
別の UC では、コードは次のようになります。
AxPivotTable は AxMicrosoft.Office.Interop.Owc11 にあります。
ReportViewer コントロールと AxPivotTable コントロールの両方に、多くの使用機能を含む独自のコンテキスト メニューがあります。私はそれらを保持したいと思います。しかし、いくつかの新しい機能も追加する必要があります。言い換えれば、デフォルトのコンテキスト メニューがその一部であり、カスタマイズされたメニュー項目が他の部分である、強化されたコンテキスト メニューを設計したいと考えています。
ここで問題が発生します。カスタマイズしたコンテキスト メニュー項目をどこに追加すればよいかわかりません。WindowsFormsHost にコンテキスト メニュー オブジェクトを追加しようとしました。しかし、結果として、このカスタマイズされたメニューはまったく表示されません。さらに WindowsFormsHost.ContextMenu.IsOpen を true に設定すると、今度はカスタマイズしたメニューがコントロールの既定のコンテキスト メニューを隠します。
また、コード ビハインドからメニュー項目を追加しようとしています。たとえば、ReportViewer は、ContextMenu というメンバーを持つ WindowsForms (WPF アセンブリではない) から派生します。しかし、viewInstance.ContextMenu.MenuItems を確認すると、実際にはカウント コレクションがゼロであることがわかります。これは、デフォルトのコンテキスト メニューがこのレベルに存在しないことを意味します。では、デフォルトのコンテキスト メニューを見つけて、カスタマイズしたメニュー項目を追加するにはどうすればよいでしょうか?
c# - wpfツールチップ内でWindowsFormHostを使用する
内でWindowsフォームパネルをホストしようとしていますToolTip
。以下は、Xamlコードとの背後にあるクラスToolTip
です。
問題は、windowsFormsHostを使用している場合、パネルの色が変わらないことです。パネルToolTip
がそこにあることすら知らないように感じます。
私はそれを正しくやっていますか?
(色を変更できる場合は、それを使用してカメラのライブフィードを表示します)
ボタンをクリックすると、ToolTip
そこにありますが、基本的なままです。
Windowsフォームホストがなく、を使用するStackPanel
場合は機能します。しかし、私はを使用する必要がありますPanel
。
Xaml:
C#:
お手数をおかけしますが、よろしくお願いいたします。
.net - WindowsFormsHostはローテーションできません。このエラーを抑制するには、LayoutErrorイベントを処理し、ThrowExceptionをfalseに設定します
WPF内にVLCActiveXプラグインコントロールがあります。
そして、アニメーションを適用しようとすると、次のエラーが発生します。
どうすれば修正できるか手がかりはありますか?
.net - 含まれている StackPanel を埋めるために、WPF WindowsFormsControl の高さを取得するにはどうすればよいですか?
WindowsFormControl でホストしようとしている winforms カスタム コントロールがあります。コントロールの高さを正しく動作させるためにいくつかの問題が発生しているようです。
実際に埋め込まれた WindowsFormControl を含む StackPanel を含むグリッドがあります。WindowsFormControl の高さが、StackPanel で使用可能なすべての高さを占めるようにしたいと考えています。
実際の winforms カスタム ユーザー コントロールの高さは、WindowsFormHost 内で使用可能な高さ領域を埋めるため、正しく動作します。
何が起こっているのか完全にはわかりません。
これを正しく動作させるための正しいテクニック/トリックは何ですか?
ありがとう、ジョンB