AvalonDock は,一連の WPF/WinForms コントロールをドッキングレイアウト対応に仕立て上げることのできる .NET ライブラリだ。今回リリースされた新バージョンでは MVVM と Aero Snap をネイティブサポートし,パフォーマンスの向上を実現している。
AvalonDock バージョン 2.0 が先日リリースされた。MVVM アプローチを採用して,スクラッチから書き直されている。Command パターン も使用されているようだ。対応するドキュメントは未公開だが,ソースに添付された Avalon.TestApp あるいはAvalon.MVVMTestApp フォルダを参照すれば,新しい API を確認することができる。
ライブラリの利用は簡単だ – 自分のコントロールを AvalonDock が提供するコントロールでラップすれば,レイアウトはすぐにドック可能になる。Get started ページにはいくつかのサンプルコードと,その他のコントロールの使用方法が紹介されている。自分で記述した C# コードでインスタンスの生成や操作を行うことも,もちろん可能だ。バージョン 2.0 でコンセプトは変更されていないが,コントロールの名称は変更されている。ドキュメントが更新されるまでは,関連するサンプルコードの参照が必要だ。
オープンソースの .NET IDE である SharpDevelop でも AvalonDock が使用されている 点も興味深い。