問題タブ [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.
wpf - ElementHost のサイズをそのコンテンツに合わせて自動調整する
TextWrapping が Wrap に設定された TextBlock を持つ小さな WPF コントロールがあります。これを既存の WinForms アプリケーションでホストしようとしています。フォームの上部に ElementHost をドッキングしており、TextBlock が必要とする高さに基づいて ElementHost の高さを調整したいと考えています。これを達成する方法はありますか?
.net - ElementHost(MVVM)での.Net4のWPF制御へのバインド
ElementHost
Winformsアプリに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、モデルの子?バインディングがどのように機能するのかよくわかりません。
wpf - WPF コントロールのプロパティを WinForms ホストに公開する
似たような投稿をいくつか見たことがありますが(もしあれば、それを教えてください)、明確な答えは見つかりませんでした。
経由で Windows フォーム フォーム内にホストされている WPF コントロールを取得しましたElementHost
。私の WPF コントロール (例のために呼び出しましょうWpfControl
) には、フォームに公開したい変数が含まれています。それを行うための一般的な標準的な慣行は何ですか?
wpf - ElementHostの外側のフォーカスボーダーが表示されていません
ElementHostを使用して、WinFormsアプリでWPFカスタムコントロールをホストしています。コントロールには太い境界線があり、コントロールにフォーカスがあるときに表示されます。境界線はコントロールの「外側」にあります。つまり、負のマージンがあります。
問題は、フォーカスの境界線が表示されないことです。コントロールを含むパディング付きの境界線をElementHostに追加すると、それが表示されます。ただし、ElementHost内のコントロールをそのままにしたいので、スタブを使用する前に作成されたレイアウトを壊すことはありません。何か案が?
ありがとう。
shadow - ElementHost DropShadowEffect
ElementHost を使用して、WinForms コントロールで WPF ユーザー コントロールをホストしています。私の WPF コントロールには DropShadowEffect がありますが、画面に表示されません。WPF コントロールはフラットです。私は何をする必要がありますか?これが私のコードです:
MyWPFUserControl xaml:
wpf - WindowsFormsHost でホストされたコントロールを使用した ElementHost でホストされた WPF ビューでのキーボード フォーカス ナビゲーションの問題
WPF UserControls をホストする Windows フォーム アプリケーションでキーボード フォーカスの問題があります。タブを押すと、UserControl に WPF コントロールしかない場合、ナビゲーションはうまく機能します。WindowsFormsHost ホストされたコントロールをこの WPF UserControl に追加すると、WPF UserControl の WindowsFormsHosted コントロールからフォーカスが移動しません。
アプリケーションが WPF アプリケーションの場合、フォーカス ナビゲーションは完全に機能しますが、この WPF UserControl を Windows フォーム アプリケーションに追加すると、TAB を押しても機能しなくなります。
これについていくつかの助けを得ることができれば素晴らしいことです。
これが私のコードです:
wpf - Windows フォーム デザイナーで、フルサイズの ElementHost を含む UserControl を移動できませんか?
Windows フォーム UserControl に ElementHost があり、Windows フォーム UserControl の幅/高さ全体にサイズ変更されています。UserControl はフォーム上にあります...しかし、Designer で UserControl をマウスオーバー/クリックするたびに ElementHost の子がフォーカスを盗むため、UserControl を移動したり、Designer で選択したりすることはできません。
設計時にこれが発生しないようにするにはどうすればよいですか?
wpf - WPF から WinForms へのバブル マウス イベント
ElementHost を使用して WinForms コントロール内でホストされている WPF コントロールがあります。WinForms コントロールにはコンテキスト メニューがあります。ユーザーが WPF コントロールを右クリックしたときにコンテキスト メニューを表示したい。これはどのように行うことができますか?マウス イベントが WPF から WinForms にバブリングされていないようです。
.net - ElementHostレイアウトの問題
フォームにロードしているElementHostsがたくさんあります。これが発生すると、要素ホストはすべて黒い背景で表示されます。別のコントロールを前面に移動してから他のコントロールを閉じると、ElementHostsは正常に再描画されます。グーグルした後、ElementHostをサブクラス化して、コンストラクターでこれを実行すると、
ElementHostsはすべて良い背景で描かれています...しかし、フォームに表示されるのに要素ホストごとに約300msかかります...そしてそれらは順番に表示されます...フォームがレイアウトされるのを見るようなものです...私はもちろん、SuspendLayoutとResumeLayoutを手動で呼び出しますが、これによって結果が変わることはありません。
これは単なるWindowsフォーム統合のバグですか?または、コントロールを正しく、妥当な速度で表示するために、これについて何かできることはありますか?
ありがとう。
更新:私は非常に単純なコードで問題を再現することができます:
wpf - WinForm フォームでホストされている場合、私の WPF UserControl は入力を受け取りません
WPF ユーザー コントロールを WinForms フォームに追加しましたが、WPF コントロールでイベントを受信できません。
MouseEnter イベントをサブスクライブしようとしましたが、イベント ハンドラー メソッドが呼び出されません。Visual Studio (2010 Express edition) デザイナーで WPF コントロールを追加しています。ElementHost を追加し、コントロールをホストに関連付けます。
フォームのスクリーンショットは次のとおりです。
WPF コントロールは、ツールストリップの下のヘルプ広告です。コントロールの最後に、winform elementhost に追加されたときに入力イベントを受信しないリンクがあります。
コンポーネントの xaml コードは次のとおりです。
もう 1 つ注意: マウスがリンク コンポーネントの上にあるとき、マウス カーソルは変更されません。イベントが WPF コントロールに送信されていないようです。
この問題を引き起こしている可能性のある考えはありますか?