常用winform的人知道,winform的窗體繼承是很好用的,寫一個基礎窗體,直接在后台代碼改寫繼承窗體名
但如果是WPF要繼承窗體,我個人感覺理解之前:好難,不懂;但理解之后就是很簡單了
關鍵:在修改后台代碼繼承窗體或者用戶控件的時候,會報使用了不同的基類的錯誤;
為什么會報這個錯誤呢?原因就是在WPF的窗體or用戶控件在頁面上都有根標記:<UserControl></UserContrl>或者<windows></windows>標記,也就是這個錯誤指的是一個窗體在后台代碼中的父級引用和前台頁面的父級引用不是同一個基類
so,想通了上面的問題就好解決了,我們的目的是要繼承我們自定義的custompage,那么我們只要將窗體的前台頁面的跟標記也修改成custompage的標記就可以了
so,整個窗體繼承的具體做法分為三步:
step1:后台代碼繼承替換,public partial class ZCPZDY : BasePage
step2:前台頁面對於我們需要繼承的窗體的路徑的引用,xmlns:src="clr-namespace:WpfMipLibrary.Base;assembly=WpfMipLibrary";這個步驟有個注意點,我這里的WpfMipLibrary.Base是指存放了BasePage的路徑,那么有人會問:如果我直接將basepage放在一個項目下,而這個項目下之后基礎窗體是否可行,答案是否定的,程序會提示,當前的命名空間下不存在編譯...什么的,所以呢,對策就是多建一個文件夾;當然如果你的目錄下存在其他的可以編譯的內容,那還是可以的
step3:前台頁面的父級根目錄的替換,用<src:BasePage></src:BasePage>替換<UserControl></UserContrl>或者<windows></windows>標記
好了,大功告成!