9

PrismモジュールとAvalonDockから動的に挿入されたビューを使用して、レイアウトを正常にロードおよび保存できた人はいますか?

Prism モジュールで RegionViewRegistry を使用してビューを登録できる AvalonDock DockingManager 用の RegionAdapter があり、それらは AvalonDock の LayoutAnchorable オブジェクトによってラップされます。

レイアウトの保存と読み込みを除いて、これはすべて正常に機能します。モジュールからビューを追加すると、RegionAdapter を通過し、適切にシリアル化されます (カスタム XML を出力に追加して、LayoutAnchorable に表示されたモジュールに関する情報を提供するシリアル化後のステップがあります)。

レイアウトをロードするときに、LayoutSerializationCallback を実装し、コンテンツを適切なモジュールのビューに設定すると、適切に表示されます。

問題は、後でこれをシリアル化しようとすると、逆シリアル化で追加された LayoutAnchorables を取得できないことです。

AvalonDock + Prism + レイアウトの保存と読み込みを作成した人からの連絡に興味があります。

Infragistics と SyncFusion の DockManagers の両方を評価しましたが、成功率はさらに低く、どちらもデシリアライゼーションでカスタム ビューを挿入できるようにするコールバックを提供していません。

4

1 に答える 1

2

AvalonDock を使用した MVVM ベースのサンプル アプリがうまく機能したため、約 1 年前にこれを試しましたが、あきらめました。リージョン アダプターが解決することは理解していますが、私のアプリケーションには必要ありませんでした。

私は PRISM (サービスとモジュール性のため) + AvalonDock (ドッキング) + レイアウトの保存を私の個人的なプロジェクトWide でリージョン アダプターなしで使用しています。他にもいくつかのプロジェクトがあります - SharpDevelopGeminiは、AvalonDock を使用し、PRISM なしでロード/保存します。#D はモジュール性のために独自のフレームワークを構築し、Gemini は Caliburn.Micro フレームワークを使用します。

全体として、上記のオープン ソース プロジェクトを調べて、そこから有用なものが見つかるかどうかを確認することをお勧めします。お役に立てれば!

于 2013-09-19T02:37:43.837 に答える