歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 使用WPF來創建 Metro UI

使用WPF來創建 Metro UI

日期:2017/3/1 10:20:11   编辑:Linux編程

當我第一次運行Zune時,我為這些美麗的UI所折服。當時就說這肯定不是用WPF做的,因為這些字體是如此的清晰而且UI反映的也非常快速。。而且我從維基百科上也了解到Zune的第一個版本是2006年發布的,而WPF與.NET 3.0卻是 2006 年11月發布的。
那麼問題來了,如果它不是WPF做的,那它是用什麼技術做到的呢?為了找到答案,我使用Process Explorer工具來看看Zune是如何啟動的,默認情況下,.NET應用程序都是被用黃色高亮顯示的。

很好,這說明Zune肯定是.net 應用程序了,然後我們可以看到Zune需要如下庫

然後用 Reflector一看: upload/2012_06/120611055126755.png

如你所見,根名空間是 Microsoft.Iris. 我在Google上搜到這玩意看上去就像某種原始的WPF組件 -- MCML
WPF能創造出類似的UI嗎? 第一個難點就是就是設定WindowStyle為None。因為這有這有才能讓標題欄以及邊框不可見

那該如何移動窗體呢? 首先添加一個Shape(Rectangle),然後為它訂閱PreviewMouseDown事件處理。 01 // Is this a double-click? 02 if (DateTime.Now.Subtract(m_headerLastClicked) <= s_doubleClick) 03 { 04 // Execute the code inside the event handler for the 05 // restore button click passing null for the sender 06 // and null for the event args. 07 HandleRestoreClick(null, null); 08 } 09 10 m_headerLastClicked = DateTime.Now; 11 12 if (Mouse.LeftButton == MouseButtonState.Pressed) 13 { 14 DragMove(); 15 }

Copyright © Linux教程網 All Rights Reserved