继承用户控件

时间:2013-02-18 12:11:19

标签: windows-runtime

为了便于管理具有许多显示为用户控件的元素的UI,我希望我的用户控件可以从我自己的类中继承。所以,在我的用户控件中,有:

继承UserControl

我把它改成了

继承MyBaseUserControl

我添加了一个MyBaseUserControl类,它继承自UserControl。

它不会立即运行,因为UserControl的自动生成的中间文件(.g.i.vb)继承如下:

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

..但如果我然后将中间文件编辑为

继承MyBaseUserControl

它运行良好,我可以有效地识别我自己的用户控件并一般性地添加属性和方法,这正是我想要做的。

但是,当然,如果我在设计器中编辑用户控件,则使用

重新生成中间文件

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

我可以手动编辑中间文件,只要重新创建它,但它看起来很乱/很危险。

有没有办法正确地做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

您需要使用MyBaseUserControl替换XAML中的UserControl字符串。 E.g。

<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>

其中SpMyBaseUserControl所在的命名空间。