导航应用程序中视图的基类

时间:2011-08-09 18:06:15

标签: silverlight silverlight-4.0 views base-class

尝试在Silverlight 4业务应用程序中为我的视图创建基类,以便在我的应用程序中提供常用方法。不幸的是,这样做会导致以下错误:

'SomeApp.Views.Home'的部分声明不得指定不同的基类

似乎Silverlight正在为此View创建另一个分部类。有没有办法让这个工作?

我试图在View的XAML中指定子类:

X:亚类= “SomeApp.Views.PageBase”

这不起作用。

1 个答案:

答案 0 :(得分:2)

是“Sivlerlight”正在创建另一个部分类(实际上它正在执行它的Visual Studio / MSBuild)。保存具有构建操作“编译”的.xaml文件时,将创建动态.g.i.cs文件。它包含一个与x:Class属性匹配的部分类,并派生自Xaml中顶级节点所代表的类。

因此xaml是这样的: -

 <UserControl x:Class="SilverlightApplication1.MyControl" ... />

将生成包含以下内容的MyControl.g.i.c: -

 namespace SilverlightApplication1 {
     public partial class MyControl : System.Windows.Controls. UserControl {

    ....

代码隐藏文件必须匹配。

因此,如果要创建一个新的基类来派生,那么您的顶级元素必须与基类匹配。

<local:PageBase xmlns:local="clr-namespace:SomeApp.Views" x:Class="SomeApp.Views.Home" ... />

另请参阅:how to create Multiple user control that pointing single code behind file in silverlight 4