当前位置: 首页 > news >正文

WPF自学入门(九)WPF自定义窗口基类

WPF自学入门(九)WPF自定义窗口基类

 

      今天简单记录一个知识点:WPF自定义窗口基类,常用winform的人知道,winform的窗体继承是很好用的,写一个基础窗体,直接在后台代码改写继承窗体名。但如果是WPF要继承窗体,我个人感觉没有理解之前:好难,不懂怎么处理还是不可以继承;但理解之后就是很简单了。

     第一次尝试使用WPF直接修改后台代码继承自定义窗体SEWindow后就会报错如下:

 

    紧接着将前台代码的根标记由<Window></Window>更改为<<local:SEWindow ></local:SEWindow >,心想,这下可以编译通过了吧,前台后台都更新了代码后还是不行,又得到另一个编译错误:

 

       经过一段时间查看WPF相关数据资料,可按如下方法创建继承自 Window 基类的自定义窗口基类。步骤如下:

一、创建Window的基类

       添加一个名为 SEWindow 的类,Window 类引入System.Windows 命名空间,关闭事件,双击事件,最大化与还原事件可能存在重载版本的时间及方法需要用 virtual 关键字标识。

 

二、使用Window的基类

       创建窗口类,后台类改为继承自定义的 窗体基类。

      public partial class ManualActivationDialog : SEWindow

     相应的前台界面 .xaml 文件中,需要修改 ManualActivationDialog .xaml,将其中的根“Window”,修改成自己定义的SEWindow修改内容如下:

     <local:SEWindow x:Class="SEDWA.WPF.ManualActivationDialog"

        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"

        xmlns:local="clr-namespace:SEDWA.WPF"

        mc:Ignorable="d"

        Title="离线激活" Height="165.517" Width="490.517" WindowStartupLocation="CenterScreen">

     </local:SEWindow>

编译顺利通过!

作 者:黄昏前黎明后 出 处:http://www.cnblogs.com/fly-bird/ 欢迎任何形式的转载,但请务必注明出处。

相关文章:

  • mongodb的数据库操作
  • php转义之gpc
  • 软件工程网络15结对编程作业
  • FZU OJ:2230 翻翻棋
  • 说说网络通信模型
  • Rust 和Erlang的对比
  • 继续吐槽在net下没有合适的Disk Cache之使用EhCache
  • 默认形参值
  • 第39级台阶 每步1个或2个台阶 有多少种上法
  • 元素拖放
  • 一、python与pycharm的安装
  • BZOJ4071 洛谷3644 UOJ112:[APIO2015]巴邻旁之桥——题解
  • xtrabackup 在线主从搭建
  • css3实现渐变
  • 泼出去的“邮件”U-Mail邮件系统替你收回
  • 【刷算法】求1+2+3+...+n
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript对象详解
  • JavaScript中的对象个人分享
  • JS题目及答案整理
  • Laravel 实践之路: 数据库迁移与数据填充
  • LeetCode18.四数之和 JavaScript
  • STAR法则
  • vue的全局变量和全局拦截请求器
  • Yii源码解读-服务定位器(Service Locator)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 京东美团研发面经
  • 警报:线上事故之CountDownLatch的威力
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 使用权重正则化较少模型过拟合
  • 微服务框架lagom
  • 字符串匹配基础上
  • 2017年360最后一道编程题
  • 通过调用文摘列表API获取文摘
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​第20课 在Android Native开发中加入新的C++类
  • #在 README.md 中生成项目目录结构
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (七)理解angular中的module和injector,即依赖注入
  • (一)UDP基本编程步骤
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • . Flume面试题
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET 的程序集加载上下文
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET建议使用的大小写命名原则
  • .Net面试题4