WPF自学入门WPF自定义窗口基类

Posted 黄昏前黎明后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

编译顺利通过!

以上是关于WPF自学入门WPF自定义窗口基类的主要内容,如果未能解决你的问题,请参考以下文章

wpf怎么自定义窗口

如何在WPF中自定义控件

[WPF自定义控件]从ContentControl开始入门自定义控件

wpf关闭主窗口询问“退出”的问题

WPF自定义窗口最大化显示任务栏

弹出窗口 WPF 表单自定义控件内容