今天分享一个关于wpf自定义窗口基类的知识点。对于习惯使用winform的开发者来说,winform的窗口继承非常直观和便捷,只需在后台代码中更改继承的窗口名称即可。然而,在wpf中进行窗口继承的操作可能会让人感到困惑,尤其是在未掌握正确方法之前。
首次尝试在WPF中通过直接修改后台代码继承自定义窗口类SEWindow时,可能会遇到如下错误:

随后,将前台代码中的根标记从<window></window>更改为新的标记,期望编译能通过。然而,即使前台和后台代码都进行了更新,仍然会遇到另一个编译错误:

经过一段时间的研究WPF相关资料后,可以按照以下步骤创建一个继承自Window基类的自定义窗口基类:
一、创建Window的基类
添加一个名为SEWindow的类,并引入System.Windows命名空间。关闭事件、双击事件、最大化与还原事件等可能需要重载的方法使用virtual关键字进行标记。

二、使用Window的基类
创建窗口类时,将后台类改为继承自定义的窗口基类。
public partial class ManualActivationDialog : SEWindow
在相应的前台界面.xaml文件中,需要修改ManualActivationDialog.xaml,将其中的根标记“Window”改为自定义的SEWindow,修改内容如下:
<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">
</sewindow>这样修改后,编译将会顺利通过!
以上就是WPF自学入门(九)WPF自定义窗口基类的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号