轉帖|其它|編輯:郝浩|2011-08-17 15:00:52.000|閱讀 643 次
概述:WPF的運行時XAML解析器公開為兩個類,它們都位于System.Windows.Markup命名空間中:XamlReader和 XamlWriter,而且它們的API已經再簡單不過了,XamlReader包含了一些對靜態Load方法的重載,而XamlWriter包含了一些對靜態Save方法的重載.
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
WPF的運行時XAML解析器公開為兩個類,它們都位于System.Windows.Markup命名空間中:XamlReader和XamlWriter,而且它們的API已經再簡單不過了,XamlReader包含了一些對靜態Load方法的重載,而XamlWriter包含了一些對靜態Save方法的重載.
1、XamlReader
XamlReader.Load方法的設置將解析XAML,創建合適的.NET對象,然后返回一個根元素的實例.因此,如果在當前目錄下有一個XAML文件叫作MyWindow.xaml,它包含一個Window對象,它包含了一個Window對象作為根結點,那么可以使用下面代碼來加載和獲得Window對象:
這個情況下,Load是與FileStream(位于System.IO命名空間中)一起調用的,在Load返回之后,整個XAML文件的對象層級將在內存中被實例化,因此就不再需要XAML.在前面的代碼,退出usiing代碼塊之后FileStream將被立即關閉,既然現在已經有一個根元素的實例存在,就可以利用適當的內容屬性或者集合屬性來獲得子元素.下面代碼假設Window有一個類為StackPanel的子元素,StackPanel的第5個子對象是一個OK Button(XamlReader定義了LoadAsync實例方法用于異步加載和解析XAML內容.例如,在加載大文件或者網絡文件時,可以使用)
2、對于動態皮膚場景來說運行時加載和解析XAML是有意義的,如果要編譯一個XAML文件并將它與過程式代碼混合,第一步要做的就是為XAML文件的根元素指定一個子類個XAML文件,并把x:Class作為根
元素,同時創建一個具有部分類定義的代碼隱藏源文件,最后把兩者連接起來,這樣代碼構建
(build)才能順利進行。
如果你是一個MSBuild的用戶,并且想通過理解項目文件中的內容來使用代碼隱藏
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:CSDN