上次已經建立了可運行的基本框架,這篇就說說怎麼把我們自定義的View自動加載並添加到AvalonDock裡面,AvalonDock裡有3種類型的UI部件,Document, DockableContent以及Floting類型,我主要說一下Document,DockableContent的添加,在AvalonDock裡Document類型可參考VS,DockableContent相當於VS裡的工具欄等,之後我直接在.cs文件裡寫注釋以及解析。
現在的項目結構:
運行結果:
可以看到裡面多了一個測試的Document,該Document是由MEF自動加載並且綁定到AvalonDock裡,這裡我只寫一個一個Document,有興趣的可以自己動手試一試,目前的Document是寫在主程序裡面,其實這Document應該寫在一個單獨的DLL裡面,這就是我們所謂的插件。 [BY Zengg]
DockScreenManager類
DockScreenManagerDocumentBase類
DocumentBaseIDockScreen接口
IDockScreenIDocument接口
IDocumentPanesStyleSelector類
Style SelectStyle( IDockScreen obj = (item != (item }
較第一張更改部分:
DockViewModel類
[Export(, : }
ShellViewModel類
[Export( .windowManager = [Import( IDockScreenManager DockContent { ; }
MefBootstrapper類
MefBootstrapperAvalonDock還支持其他幾種皮膚,可以滿足大眾的需求:
AeroTheme
ExpressionLightTheme
ExpressionDarkTheme
VS2010Theme
DockableContent類型的實現和Document實現是一樣的,只是實現的接口不同,DockableContent實現的是IDockableContent接口,具體請參考Document實現,有疑問的可以提出來,盡量幫助解決,解釋寫得略簡單不好意思,但是有源碼參考,如果源碼對大家有幫助的話,求個推薦,回復或粉的神馬的都好。。。
源碼地址:
http://pan.baidu.com/share/link?shareid=819683340&uk=554439928
如果您看了本篇博客,覺得對您有所收獲,請點擊右下角的 [推薦]
如果您想轉載本博客,請注明出處
如果您對本文有意見或者建議,歡迎留言
感謝您的閱讀,請關注我的後續博客
作者:Zengg 出處:http://www.cnblogs.com/01codeworld/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。