2012-02-22 37 views
0

我希望領先於此包,並開始爲Metro(Win8)製作一些自定義C#控件和組件,但我無法找到任何有關如何啓動的文檔或博客文章,或者即使現在可能。如何爲Metro開發製作自定義控件和組件?

地鐵控件只是WPF控件嗎?我還不是WPF開發人員,創建自定義用戶控件看起來很簡單,但該項目類型在Windows 8開發人員預覽中不存在。那麼,WPF自定義用戶控件(VS2010)是我應該用來創建Metro控件的項目類型嗎?除此之外,我找不到有關如何創建用於WPF/Metro的組件的任何文檔;你可以創建一個,還是隻是一個不可見的自定義用戶控件? (我希望某種類型的組件容器像winforms一樣使用;是Metro的組件,現在只有類庫,並且不再包含設計器支持?)

+0

[Windows 8本地自定義控件]的可能的重複(http://stackoverflow.com/questions/15281845/windows-8-native-custom-control) – toroveneno 2013-11-09 11:25:01

回答

1

這是......現在非常困難。無法爲控件重寫OnRender等,也就是創建代碼來渲染具有自定義外觀的控件。但是,您可以創建自定義模板。您可以在模板中執行的任何操作都是合法的,這就是您必須處理自定義控件的方法。

另一種選擇是直接使用光柵(位圖)或矢量(Windows.UI.Xaml.Shape?)組件生成用戶界面,並像這樣構建您的用戶界面。的Bleh。

Win8地鐵很像WPF,但它不是子集。類似但非常不同。許多WPF控件沒有轉換到Win8 Metro;相同級別的渲染控制不可用;和一些系統功能(如高級字體渲染)不在那裏。所有這些可能會在即將發佈的版本中發生變化,但現在看起來微軟正試圖限制開發人員創建自定義UI控件。

+0

謝謝;並且關於組件,你知道我是否僅限於類庫,還是有一些方法可以創建實際的組件(設計器/工具箱支持)? – anonWrkrB 2012-02-22 18:41:15

+0

您可以爲您的組件獲得Expression Blend支持;他們包裝不同,但有東西。基本上選擇Win8 MetaData格式作爲你的構建目標。 – AndrewS 2012-02-22 21:24:44

+0

你能解釋更多關於如何製作自定義模板嗎?我沒有在Win8 DP VS11 Express新項目對話框或任何輸出類型中看到類似的項目類型。 – anonWrkrB 2012-02-24 14:48:27