2013-08-21 52 views
0

我正在閱讀WPF工具包的源代碼,我在Toolkit項目中發現,每個控件都寫在兩個名爲:Implementation和Themes的文件夾中。困惑一些WPF工具包源代碼

像這樣: - WatermarkTextBox - 實施 WatermarkTextBox.cs - 主題 Generic.xaml

通過這樣做,該控件可以在默認情況下適用於主題。 當我刪除Generic.xaml時,Visual Studio會收到en錯誤以查找Generic.xaml文件。

所以,我對這種模式感到困惑,這是Visual Studio支持的模式嗎?

回答

0

如果您在WPF中創建CustomControl,則應將默認的Style放入名爲Generic.xaml的文件中。該框架將查找此文件以找到所有CustomControl對象的缺省值Style,如果該文件丟失,將會出現該錯誤。

您可以在MSDN的Control Authoring Overview頁面的「定義和使用共享資源」部分找到更全面的說明。

您可以從MSDN上的Try it: Create a custom WPF control頁面創建CustomControl的更確切幫助。

+0

但是當我編寫一個像工具包那樣的控件時,沒有任何反應。而且我測試了你告訴我的,如果我刪除了Generic.xaml,沒有錯誤,只是樣式不適用。 – coldjokelife

+0

對不起,我發現了由工具包編寫的Generic.xaml,在主題foloder中,你是對的,他們在Generic.xaml中添加了xaml,所以當我刪除那個文件時,錯誤就出來了。 – coldjokelife

+0

如果您按照鏈接的Microsoft網頁中的所有建議(我爲您添加了另一個建議),那麼您將解決您的問題。你的代碼可能有許多問題,而且沒有看到它,除了你可以告訴別人。但是,現在已經回答了這個問題,所以請將其標記爲如此。如果你想問一個關於你的代碼的更具體的問題,那麼請添加一個新的問題,並提供與該問題相關的代碼。 – Sheridan