2013-02-18 99 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