前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Silverlight:页面/控件继承的二种写法

Silverlight:页面/控件继承的二种写法

作者头像
菩提树下的杨过
发布2018-01-23 17:25:28
5280
发布2018-01-23 17:25:28
举报

前言:此乃水文,高手绕道.

只要是稍微象样点的项目,一般都会先弄一个PageBase或UserControlBase做基类,然后其它页面/用户控件继承自它,标准的写法如下:

先定义基类: PageBase.cs

代码语言:javascript
复制
using System.Windows.Controls;

namespace sl_test
{
    public class PageBase:UserControl
    {

    }
}

然后创建一个用户控件Page1继承自它:

后端cs部分:

代码语言:javascript
复制
namespace sl_test
{
    public partial class Page1 : PageBase
    {
        public Page1()
        {
            InitializeComponent();
        }
    }
}

对于silverlight而言,光这样是不够的,前端xaml部分也要修改:

代码语言:javascript
复制
<local:PageBase x:Class="sl_test.Page1"
    xmlns:local="clr-namespace:sl_test"
    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"
    d:DesignHeight="300" d:DesignWidth="400">
    
    <Grid x:Name="LayoutRoot" Background="White">

    </Grid>
</local:PageBase>

即xaml要继承一个类,得同时改xaml.cs与xaml文件二处。

今天又看到了另一种偷懒的做法,可以只修改Xaml即可,方法就是直接去掉xaml.cs文件中的:PageBase,即将:

代码语言:javascript
复制
public partial class Page1 :PageBase

变成:

代码语言:javascript
复制
public partial class Page1

这样简单多了,算是silverlight/WPF特有的写法吧。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档