問題タブ [avalondock]

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 投票する
3 に答える
4809 参照

wpf - PrismRegionAdapter-ビューの削除と追加

AvalonDockを含むprism/wpf/mefソリューションがあります。RegionAdapterBase<Pane>AvalonDockからのペインの作成と削除を処理するクラスを作成しました。

これが私が遭遇している問題です:

  1. メニューのボタンをクリックすると、ビューがリージョンに登録され、DocumentPane
  2. AvalonDockの閉じるボタンをクリックしてタブを閉じ、ビューを削除します
  3. 同じメニューボタンをクリックして、もう一度追加します
  4. エラーが発生しました:

「指定された要素はすでに別の要素の論理的な子です。最初に切断してください。」

だから...これは私が削除する必要がある何かが残っていることを私に教えてくれますが、それがどこにあるのかわかりません。これが私のRegionAdapterからのコードです:

デバッグ行から、DocumentPaneおよびリージョンビューが適切に破棄されています...クリックしてアイテムをビューに追加し直すと、次のような行に上記のエラーメッセージが表示されます。

メニューボタンが押されたときに実行されるモジュールのコードは次のとおりです。

私が欠けているものはありますか?

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

c# - ExecutionEngineException がキャッチされない

以下のコードを実行しているときに ExecutionEngineException がキャッチされない理由が気になります。

WriteLine に到達することはありません。この例外をキャッチする方法はありますか?

注: DockablePanes の 1 つが AutoHide モードで、表示されていて、ユーザーが wpf ウィンドウを閉じようとしているときに、AvalonDock によって例外がスローされることはわかっています。

更新:この例外に関する msdnのコメント セクションを読みました:

CLR は、マネージ コードがキャッチできるような方法でこの例外をスローすることはありません。

したがって、問題は、そのような後にアプリケーションをうまく閉じる方法です。

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

c# - フローティング DockableContent 位置

私の用語が正しいかどうかはわかりませんが、(DockableContent) タブをドッキング解除すると、それがツールウィンドウであるかのように、デスクトップ上に浮かんだままにすることができます。Top と Left は利用可能なプロパティではないようです。画面上の位置を特定するにはどうすればよいですか?

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

mvvm - avalondock mvvm

avalondockの使用は、MVVM環境ではかなり難しいようです。DocumentPaneをシェルビューからデタッチするとすぐに、対応するデータコンテキストが失われ、ビューが空になります。再接続すると、通常の状態に戻ります。

誰かが解決策を持っていますか?

0 投票する
3 に答える
1850 参照

wpf - DockableFloatingWindow の最大化と Aero スナップ

ドッキング解除されたフローティング AvalonDock ウィンドウを最大化する機能を提供する次のコードがあります。

これにAero Snap機能を追加するにはどうすればよいですか?

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

c# - Avalon DockドキュメントコンテンツはC#を閉じる前に保存します

私はnotepad++に似たプロジェクトでAvalonDockを使用していますが、ドキュメントをドキュメントコンテンツとして持っていますが、ユーザーがドキュメントコンテンツを閉じるときに直面する問題があります。

彼/彼女が閉じる前にドキュメントを保存したい場合、私は彼にポップアップメッセージを取得してほしい。

どうすればこれを達成できますか?

前もって感謝します。

0 投票する
5 に答える
3413 参照

c# - AvalonDockDocumentContentはガベージコレクションされていません

AvalonDockフレームワークを利用するアプリケーションを作成しました。AvalonDock.DocumentContent重要な部分は、派生エディターを使用してドメインモデルエンティティを編集する機能です。問題が発生し、エディターを閉じてコレクションから削除した後、エディターがガベージコレクションされていないことがわかりましたDockingManager.Documents

無駄な検索を行った後、次の方法で再作成できる小さなテストアプリケーションを作成しました。

  • Visual Studio(私は2008を使用しています)で、AvalonDockLeak;という名前の新しいWPFアプリケーションを作成します。
  • AvalonDockライブラリへの参照を追加します(私のバージョンは1.3.3571.0です)。
  • Document;という名前の新しいUserControlを追加します。
  • Document.xmalを次のように変更します。

    /li>
  • Document.xmal.csを次のように変更します。

    {を開くメソッドにブレークポイントを追加して問題を診断し、ヒットするかどうかを確認できるようにするために追加したデストラクタ。テストアプリケーションを閉じるときに常に実行されますが、それ以前には実行されません。

  • 次に、Window1.xamlを次のように変更します。

    /li>
  • Window1.xaml.csを次のように変更します。

    /li>

この単純なアプリケーションには、リークも含まれています。これは、開始時のブレークポイント~Document(){を閉じた後にヒットしないことで確認できますDocumentContent

今私がしたいのは、これは既知の問題であり、それを防ぐ方法はありますか?オブジェクトが久しぶりにガベージコレクションされた場合、これを促進するために何ができますか?ちなみに、GC.Collect()を呼び出しても役に立ちません。

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

prism - レイアウトの復元はモジュールの内容を復元しません

私はAvalonDocでプリズムを使用しています。

レイアウトを復元しようとすると(メニューボタン「RestoreLayout」のイベントハンドラーで)

dockManager.RestoreLayout(FileName);

正しいレイアウト構造を取得しましたが、すべてのリージョンのコンテンツが空になりました。モジュールなどにリロードする必要がありますか?

私のxamlコードのavalondocコードは次のようなものです。

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

avalondock - AvalonDockマウスの右クリックメニュー

DockablePane(AvalonDock.dllのUI)でマウスの右クリックメニューを無効にする方法?助けてください、私はそれが必要です。プロジェクトに多言語を提供したいのですが、それは英語のみです