2009-11-02 47 views
0

我嘗試在WPF中使用繼承。我之前曾問過一個關於這個問題的問題,但沒有人回答正確。所以我嘗試使用一些UI元素創建一個BaseWindow類,並且我希望其他窗口繼承我的BaseWindow將具有這些UI元素。怎麼做。我的WinForms應用程序的實踐不再工作了。也許有一些簡單的例子或smth ..?謝謝如何使用WPF中的繼承

回答

0

如果你想從一個窗口繼承,你只需要在代碼中創建一個窗口的實現,然後你可以繼承這個 - 注意你的XAML中的Window聲明需要改變指向這個代碼,例如

<src:BaseWindow xmlns:src="clr-namespace:BaseWindowNamespace" ...> 

如果定義使用XAML的基本窗口,你會得到以下錯誤:

「 'WpfApplication1.Window1.InitializeComponent()' 揣繼承成員 BaseWindowNamespace.BaseWindow.InitializeComponent ()」。 如果躲在被 打算使用新的關鍵字‘

’BaseWindowNamespace.BaseWindow不能 是XAML文件的根,因爲它 使用XAML」

現在,在這一點上,我必須指出,這是計數器,你應該處理您的窗口組成的方式定義。這樣做的「標準」方式是使用內容模板來顯示用戶控件,這些控件可以交換和設計樣式以實現不同的外觀和功能。通過這種方式,窗口的功能變爲線束的功能,並且您可以實現使用MVVM輕鬆實現的內容的清晰分離。

0

您是否嘗試過使用BasedOn標記?我不知道Windows,但這是你用於UserControls AFAIK的。

+0

不,我沒有,可以舉一些簡單的例子嗎? – Vytas 2009-11-02 07:48:44