以我们的Eallies OA系统为例,实现PageBase的方法如下:
  1、在Eallies.OA.UI.Controls.Logical项目中添加一个纯的Class,并让其继承于System.Windows.Controls.Page类。
    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Windows.Controls;
    6 
    7 namespace Eallies.OA.UI.Controls.Logical
    8 {
    9     public class PageBase : Page
   10     {
   11     }
   12 }
  2、在Eallies.OA.UI项目中更改Page的CS代码,让其继承于Eallies.OA.UI.Controls.Logical.PageBase类。
    1 using System;
    2 using System.Collections;
    3 using System.Collections.Generic;
    4 using System.Linq;
    5 using System.Text;
    6 using System.Windows;
    7 using System.Windows.Controls;
    8 using System.Windows.Data;
    9 using System.Windows.Documents;
   10 using System.Windows.Input;
   11 using System.Windows.Media;
   12 using System.Windows.Media.Imaging;
   13 using System.Windows.Navigation;
   14 using System.Windows.Shapes;
   15 using Eallies.OA.UI.Controls.Logical;
   16 
   17 namespace Eallies.OA.UI.User
   18 {
   19     public partial class List : PageBase
   20     {
   21     }
   22 }
  3、在Eallies.OA.UI项目中更改Page的XAML代码,增加引用xmlns:logical="clr-namespace:Eallies.OA.UI.Controls.Logical;assembly=Eallies.OA.UI.Controls.Logical",然后将根节点改成logical:PageBase。
    1 <logical:PageBase
    2    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4    xmlns:logical="clr-namespace:Eallies.OA.UI.Controls.Logical;assembly=Eallies.OA.UI.Controls.Logical"
    5    x:Class="Eallies.OA.UI.User.List">
    6 </logical:PageBase>