問題タブ [elementhost]

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.

0 投票する
2 に答える
5605 参照

wpf - ElementHost のサイズをそのコンテンツに合わせて自動調整する

TextWrapping が Wrap に設定された TextBlock を持つ小さな WPF コントロールがあります。これを既存の WinForms アプリケーションでホストしようとしています。フォームの上部に ElementHost をドッキングしており、TextBlock が必要とする高さに基づいて ElementHost の高さを調整したいと考えています。これを達成する方法はありますか?

0 投票する
1 に答える
1737 参照

.net - ElementHost(MVVM)での.Net4のWPF制御へのバインド

ElementHostWinformsアプリにWPFがあります。ユーザーコントロールにはいくつかのテキストがありTreeView、アプリによって提供される使用可能なコマンドのツリーを表示する必要があります。

私はWPF(これは学習演習です)を初めて使用するため、データのバインドに問題があります。

CommandTreeViewModelビューモデルとして機能するクラスを作成しました。であるFirstGenerationプロパティがありIEnumerable(of CommandViewModel)ます。次に、CommandViewModelクラスには、プロパティをCommand含めることを説明するいくつかの単純なプロパティがありChildrenます(ここでもIEnumerable(of CommandViewModel))。

Public Property ViewModel As CommandTreeViewModel今のところ、winformsアプリによって設定されるWPFユーザーコントロールにを追加しました。

方法がわからないのは、ViewModelプロパティで渡されたデータを取得し、それをTreeViewにバインドすることです。(そして、XAMLバインディングのViewModelクラスa-la MVCを強く入力する方法はありますか?)

必要に応じて、以下の適切なコードであると私が信じているものを含めました。

ユーザーコントロール

XAML

モデルを表示

ご覧のとおり、私は何をする必要があるのか​​はっきりしておらず、さまざまなチュートリアルからいくつかのコードを一緒にハックしようとしています。ほとんどはWPFのみです。

上記を実行すると、コントロールが正しくロードされますが(フォームに「テスト」テキストが表示されます)、TreeView空白のままになります。エラーはスローされません。これは、データを正しくバインドしていないためだと思います。

最後に、どのプロパティがDPである必要があるのか​​もわかりません。ユーザーコントロール、ViewModel、モデルの子?バインディングがどのように機能するのかよくわかりません。

0 投票する
1 に答える
487 参照

wpf - WPF コントロールのプロパティを WinForms ホストに公開する

似たような投稿をいくつか見たことがありますが(もしあれば、それを教えてください)、明確な答えは見つかりませんでした。

経由で Wi​​ndows フォーム フォーム内にホストされている WPF コントロールを取得しましたElementHost。私の WPF コントロール (例のために呼び出しましょうWpfControl) には、フォームに公開したい変数が含まれています。それを行うための一般的な標準的な慣行は何ですか?

0 投票する
1 に答える
517 参照

wpf - ElementHostの外側のフォーカスボーダーが表示されていません

ElementHostを使用して、WinFormsアプリでWPFカスタムコントロールをホストしています。コントロールには太い境界線があり、コントロールにフォーカスがあるときに表示されます。境界線はコントロールの「外側」にあります。つまり、負のマージンがあります。

問題は、フォーカスの境界線が表示されないことです。コントロールを含むパディング付きの境界線をElementHostに追加すると、それが表示されます。ただし、ElementHost内のコントロールをそのままにしたいので、スタブを使用する前に作成されたレイアウトを壊すことはありません。何か案が?

ありがとう。

0 投票する
1 に答える
298 参照

shadow - ElementHost DropShadowEffect

ElementHost を使用して、WinForms コントロールで WPF ユーザー コントロールをホストしています。私の WPF コントロールには DropShadowEffect がありますが、画面に表示されません。WPF コントロールはフラットです。私は何をする必要がありますか?これが私のコードです:

MyWPFUserControl xaml:

0 投票する
2 に答える
5017 参照

wpf - WindowsFormsHost でホストされたコントロールを使用した ElementHost でホストされた WPF ビューでのキーボード フォーカス ナビゲーションの問題

WPF UserControls をホストする Windows フォーム アプリケーションでキーボード フォーカスの問題があります。タブを押すと、UserControl に WPF コントロールしかない場合、ナビゲーションはうまく機能します。WindowsFormsHost ホストされたコントロールをこの WPF UserControl に追加すると、WPF UserControl の WindowsFormsHosted コントロールからフォーカスが移動しません。

アプリケーションが WPF アプリケーションの場合、フォーカス ナビゲーションは完全に機能しますが、この WPF UserControl を Windows フォーム アプリケーションに追加すると、TAB を押しても機能しなくなります。

これについていくつかの助けを得ることができれば素晴らしいことです。

これが私のコードです:

0 投票する
1 に答える
573 参照

wpf - Windows フォーム デザイナーで、フルサイズの ElementHost を含む UserControl を移動できませんか?

Windows フォーム UserControl に ElementHost があり、Windows フォーム UserControl の幅/高さ全体にサイズ変更されています。UserControl はフォーム上にあります...しかし、Designer で UserControl をマウスオーバー/クリックするたびに ElementHost の子がフォーカスを盗むため、UserControl を移動したり、Designer で選択したりすることはできません。

設計時にこれが発生しないようにするにはどうすればよいですか?

0 投票する
1 に答える
2180 参照

wpf - WPF から WinForms へのバブル マウス イベント

ElementHost を使用して WinForms コントロール内でホストされている WPF コントロールがあります。WinForms コントロールにはコンテキスト メニューがあります。ユーザーが WPF コントロールを右クリックしたときにコンテキスト メニューを表示したい。これはどのように行うことができますか?マウス イベントが WPF から WinForms にバブリングされていないようです。

0 投票する
2 に答える
4176 参照

.net - ElementHostレイアウトの問題

フォームにロードしているElementHostsがたくさんあります。これが発生すると、要素ホストはすべて黒い背景で表示されます。別のコントロールを前面に移動してから他のコントロールを閉じると、ElementHostsは正常に再描画されます。グーグルした後、ElementHostをサブクラス化して、コンストラクターでこれを実行すると、

ElementHostsはすべて良い背景で描かれています...しかし、フォームに表示されるのに要素ホストごとに約300msかかります...そしてそれらは順番に表示されます...フォームがレイア​​ウトされるのを見るようなものです...私はもちろん、SuspendLayoutとResumeLayoutを手動で呼び出しますが、これによって結果が変わることはありません。

これは単なるWindowsフォーム統合のバグですか?または、コントロールを正しく、妥当な速度で表示するために、これについて何かできることはありますか?

ありがとう。

更新:私は非常に単純なコードで問題を再現することができます: