程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> AvalonDock 2.0+Caliburn.Micro+MahApps.Metro實現Metro風格插件式系統(二)

AvalonDock 2.0+Caliburn.Micro+MahApps.Metro實現Metro風格插件式系統(二)

編輯:C#入門知識

  上次已經建立了可運行的基本框架,這篇就說說怎麼把我們自定義的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類  

DockScreenManager

DocumentBase類

DocumentBase

IDockScreen接口

IDockScreen

IDocument接口

IDocument

PanesStyleSelector類

   
                
                                             
                                               
                   
          
          
          
           Style SelectStyle(              IDockScreen obj =             
              (item !=                   
                  (item                                         
                                  
                    }

較第一張更改部分:

  DockViewModel類

        
           
     [Export(,                              :   
   }

ShellViewModel類

       [Export(                                       .windowManager = 
           
                   
         [Import(          IDockScreenManager DockContent { ;   }

MefBootstrapper類

MefBootstrapper

AvalonDock還支持其他幾種皮膚,可以滿足大眾的需求:

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/

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved