2009-09-24 152 views
12

我目前在學習WPF。到目前爲止,我真的很喜歡它。我很喜歡製作精美的應用程序是多麼容易,並且希望創建一個具有自定義窗口邊框的應用程序。我想它看起來是這樣的:在WPF中創建自定義表單?

我知道我可能只是很容易地改變窗式到沒有邊界,並從那裏,但似乎很像的WinForms。創建一個衍生自Window的類並且設計它會不會更好?如果是這樣,我該怎麼做?謝謝!

回答

3

要顯示非標準邊框,您必須設置AllowsTransparency = True,並且窗口中沒有邊框。無論你想在課堂上做到這一點,取決於你。你基本上必須認識到WPF實際上只是一個標準窗口中託管的DirectX應用程序。所以如果你想要非標準的Windows行爲,你必須放棄標準的窗口邊界,並根據你想要處理的標準窗口事件開始重新佈線。拖動,最小化/最大化/恢復,標題欄。

真的,它不應該花費你超過30分鐘到一小時的時間才能提出接近你想要的東西,你當然可以把你的自定義窗口放在基類中,以便在路上重新使用。

我有一種感覺,對於大多數情況下,這將是比嘗試覆蓋默認Windows繪圖更好,更快的選擇。

+0

如果重新發明標準窗口標題欄,請小心無障礙等。任何輔助工具如何知道如何關閉窗口等?但是,您可能不在乎您的申請。 – 2009-10-12 11:51:57

0

有一種名爲「Blendables」的產品,其"Essentials Mix"包中包含一個ChromelessWindow控件,這使得它非常容易實現。我從來沒有真正使用它,我只是知道它存在,並認爲它可能是有用的。至少它表明你可以按照你的要求創建可重用的模板化的Chrome。