2013-02-18 93 views
0

爲了便於管理具有顯示爲用戶控件的許多元素的UI,我希望我的用戶控件能夠從我自己的類繼承。所以,在我的用戶控制,其中有:繼承用戶控件

繼承用戶控件

我改成了

繼承MyBaseUserControl

而且我添加了一個類MyBaseUserControl,剛剛從用戶控件繼承。

它不會立即執行,因爲該用戶控件自動生成中間文件(.givb)繼承這樣的:

繼承Global.Windows.UI.Xaml.Controls.UserControl

..但如果我然後編輯中間文件

繼承MyBaseUserControl

它的偉大工程,我能有效地識別自己的用戶控件和一般添加的屬性和方法對他們來說,這是我想要什麼 去做。

當然但是,如果我在設計師編輯用戶控制,中間文件中再生與

繼承Global.Windows.UI.Xaml.Controls.UserControl

我可以手動編輯的中間文件時得到重新創建,但它似乎凌亂/危險。

有沒有辦法正確地做到這一點?

感謝

回答

0

您需要更換用戶控件字符串與MyBaseUserControl您的XAML。例如。

<controls:MyBaseUserControl 
    x:Class="Sp.MyBaseUserControl" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:controls="using:Sp"> 
... 
</controls:MyBaseUserControl> 

哪裏Sp是命名空間MyBaseUserControl中。

+0

所以我的XAML的第一行是<用戶控件。這是我看到UserControl的唯一地方。我將其更改爲Sp.MyUserControl。 Sp是項目名稱,我嘗試過,沒有這個。如果沒有它,我會得到「找不到類型」,我會得到「不支持嵌套類型」。實際上,如果我將其更改爲Sp.AnyText,我會得到「嵌套類型不受支持」 – Ianb 2013-02-19 09:55:17

+0

好吧,在XAML中,您需要使用自定義XML命名空間來處理不是來自平臺默認命名空間的任何事情,所以在您的情況下,您需要像...讓我更新更好的格式的答案... – 2013-02-19 16:50:57

+0

我找到了答案,但一些白癡刪除它,我會取消刪除它,看看會發生什麼 - 我無法取消刪除它,因爲版主取消刪除它 - 我的答案是「好吧,知道了,語法是本地的:MyUserControl,現在所有的工作都很好」 - 任何人都可以解釋這將被刪除? – Ianb 2013-02-20 17:37:07