1. 寫在前面
一直從事WPF的相關開發作業,有時為了嘗試或演示某些僅僅基于XAML的效果時,但又不想大動干戈打開VS去創建專案,所以一個輕便簡單,集編輯與預覽于一身的XAML編輯器就顯得格外重要,
- Kaxaml,集編輯與預覽,過去一直在使用,但苦于不知何原因,最近頻頻崩潰,雖然開源有代碼可循,但也懶的下載除錯;
- XAML Studio,只能在Win10上使用,且只適用于UWP,被迫放棄,
那么,干脆自己動手,豐衣足食!這樣,XAML Viewer誕生了,而且完全開源!
2. 界面預覽
非專業美工設計,加上VS的檔案編輯結構正合我意,而且個人相對比較中意VS的設計風格,所以就不折磨自己了,

3. 專案構成
軟體主要基于WPF,Prism,AvalonEdit,唯一核心代碼如下(其他均為錦上添花):
Element = XamlReader.Parse(content) as FrameworkElement;- XamlDesigner:Prism模塊,提供XAML預覽功能;
- XamlEditor:Prism模塊,提供XAML編輯功能,提供智能提示喔,雖然比不上VS的全面強大,但一般使用足以;
- XamlService:主要用于定義Prism的Event及Command;
- XamlTheme:提供樣式相關的控制元件或輔助類;
- XamlUtil:提供通用的演算法之類的;
- XamlViewer:主專案,除上述之外的集大成者,
4. 檔案管理
- 支持新建,打開,保存,關閉,拖動等操作;
- 支持預覽與編輯面板位置交換操作;
- 支持在Active Files下拉串列中針對已打開的檔案進行快速選擇,
注意:在關閉軟體時,只會自動保存已經存盤在本地的檔案,請務必在此之前,將需要保留的臨時檔案保存到本地,
5. 自動編譯
- Auto-Compile 勾選框,開啟或關閉自動編譯功能,但手動編譯[F5],一直生效;
- Auto-Compile Delay 滑塊,在無任何輸入的指定時間后自動執行編譯,
6. 第三方控制元件庫的參考
[Setting] >> [Reference] >> [Add]: 添加自定義控制元件庫,可以在XAML中直接參考其中控制元件,
- 1. 當前軟體基于.Net Framework 4.5,只要系統中包含.Net Framework 4.X(X >= 5),即可參考基于4.0--4.X任意版本的控制元件庫;
- 2. 參考自定義控制元件庫時,請按照以下形式宣告命名空間:
xmlns:controls="clr-namespace:MyControl.Controls;assembly=MyControl"
7. 寫在最后
由于只是個人利用閑暇時間撰寫,精力有限,有些地方未必測驗到位,代碼也稍顯簡陋,注釋欠缺,所以,在使用的程序中,若遇到各種各樣的問題,對哪塊代碼理解不清的,或有更好的建議的,都可以在Github上進行反饋,我看到后會盡量回應,請大家多多支持,
代碼可以使用VS2012及以上版本進行編譯,目前基于.Net Framework 4.5,后續有時間的話,我會調整為多目標編譯,增加.Net Core 3.0,
Github地址如下:https://github.com/huangjia2107/XamlViewer
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/12380.html
標籤:WPF
上一篇:C# WPF Bing地圖展示
下一篇:C# WPF 表單更改提示
