默认情况下,Silverlight页面继承自Page类,如果我们因为系统需要,需要自定义一个BasePage类,并将页面公共的功能(如:权限等)写到BasePage类,然后用新建的页面继承自BasePage,这样就可以起到代码重用的效果。

在Silverlight中如何实现呢?

1、新建一个“BasePage”类文件,继承自Page;

    public class BasePage:Page
    {

    }

2、新建一个名为Page1的Silverlight Page,默认的xaml代码如下:

<navigation:Page x:Class="SilverlightApplication8.Page1"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
           xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
           mc:Ignorable="d"
           xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
           d:DesignWidth="640" d:DesignHeight="480"
           Title="Page1 Page">
    <Grid x:Name="LayoutRoot">

    </Grid>
</navigation:Page>

3、将上面的xaml代码修改成下面的代码:

<src:BasePage x:Class="SilverlightApplication8.Page1"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:src="clr-namespace:SilverlightApplication8"
           xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
           xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
           mc:Ignorable="d"
           xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
           d:DesignWidth="640" d:DesignHeight="480"
           Title="Page1 Page">
    <Grid x:Name="LayoutRoot">

    </Grid>
</src:BasePage>

4、注意上步的粗体字体

作者: Michael-zds 发表于 2011-04-03 21:25 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架