Feeds:
文章
留言

Archive for 四月 2nd, 2006

XAML 初體驗–井字遊戲

看了很久的 XAML 文件之後,在最近終於著手實作一個簡單的遊戲,把之前 XUL 版本的井字遊戲移植到 XAML。
程式執行檔下載
程式執行畫面如下
要執行上述的執行檔,系統必須安裝 .Net Framework 2.0 和 WinFx Component ,由於 XAML 尚未正式釋出,所以文件不是很齊全,且相關的 tag 也可能會改變,實作上還真有點難度,不過利用 XAML 製作 UI 的過程和 XUL 相當的類似,只要了解 XML 且搭配一份完整的 XAML 標籤定義,就可以簡單的透過文字編輯器(如:記事本)產生應用程式的 UI。
 
將移植過程的部份歸納成下面幾個步驟:
1. 定義 XAML UI 檔案,副檔名為 .xaml,如 Main.xaml
2. 定義 UI 對應的程式邏輯,也就是定義一個繼承 Page 的類別,檔案命名為 XAML UI 檔加上 cs 如 Main.xml.cs
3. 建立應用程式定義檔,定義應用程式使用的資源和程式起始畫面,副檔名為 .xaml,如AppGame.xaml
4. 建立 MSBuild 用的 make 檔,副檔名為 csproj,如:ChuiWenChiu.csproj
5. 利用 .Net Framework 2.0 新增的 msbuild 工具建置程式
 
建立完成後,有一些非常有趣的檔案,AppGame.g.cs 和 Main.g.cs 是工具產生 C# 程式檔案,在這兩個檔案中分別有兩處非常有趣的程式碼
 
[AppGame.g.cs]
    public void InitializeComponent() {
        this.StartupUri = new System.Uri("Main.xaml", System.UriKind.Relative);
    }
 
[Main.g.cs] 
        public void InitializeComponent() {
//… 略
            System.Uri resourceLocater = new System.Uri("main.baml", System.UriKind.RelativeOrAbsolute);
// … 略
        }
 
目前我尚未深入研究 XAML 的架構,不過似乎是透過解析 XAML 檔案解晰對應的程式,以後有機會在分享吧….
 

Read Full Post »