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>

編譯順利通過!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM