自定義WPF窗體形狀的實戰(zhàn)記錄
介紹
你好WPF愛好者。 隨著WPF等統(tǒng)一API語言的發(fā)明,豐富用戶界面變得非常容易。 創(chuàng)建豐富的用戶界面只是一個想法。 您需要擁有的是創(chuàng)造性思維和最新技術(shù)融合。 WPF和Expression Blend在制作豐富的UI應用程序,清晰的圖形和非常好的動畫方面非常有用。
在創(chuàng)建WPF應用的時候,你第一個看到的就是窗體類。它作為窗體的基礎,提供標準的邊框、工具條、最大化、最小化和關(guān)閉按鈕。WPF窗體是XAML文件和后臺代碼文件的混合體。
背景
我將要發(fā)布的是將窗口矩形形狀塑造成圖像的形狀。 它可以是任何圖像,任何形狀,任何大小,它應該是沒有背景的PNG(便攜式網(wǎng)絡圖形)圖像(白色背景被移除)。
代碼使用
嗯,實現(xiàn)這一點是小菜一碟,但我仍然會提供一個完整的演練過程。
先決條件
- .NET FrameWork 3.0或以上
 - Visual Studio 2008或以上
 - Adobe Photoshop或者一個圖片編輯工具
 - 您要使用的圖像文件
 - XAML相關(guān)知識
 
準備圖片文件
- 選擇要用作窗體形狀的圖像文件。
 - 在大多數(shù)圖像編輯工具中,使圖像背景自由是一個非常簡單的過程,但是,我將為Adobe Photoshop解釋它(因為我喜歡該產(chǎn)品)。
 - 在Adobe Photoshop中打開圖像文件。
 - 選擇除背景之外的整個圖像。
 - 復制選擇。
 - 單擊菜單文件>>新建。 這將顯示一個對話框。 在對話框的“內(nèi)容”部分中,選擇“透明”,然后單擊“確定”。
 - 將打開透明背景畫布,將圖像粘貼到那里并將其另存為PNG文件。
 
現(xiàn)在我們的圖像文件準備就緒,讓我們現(xiàn)在塑造我們的WPF表格。
設置WPF應用
打開Visual Studio 2008并創(chuàng)建新項目。
在Visual C#項目模板下,選擇Windows >> WPF應用。
使用下面的XAML:
<window title="ShapedWindow" windowstartuplocation="CenterScreen" allowstransparency="True" opacitymask="White" windowstyle="None" background="Transparent" width="620" height="267" xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation x:class="ShapedWPFForm.ShapedWindow"> <grid> <img name="imgBackground" source="Shape.png" stretch="Fill" /> </grid> </window>
所有就完成了
XAML屬性解釋:
- allowstransparency="True" - 設置窗體透明度。
 - background="Transparent" - 表明背景是透明的。
 - windowstyle="None" - 此屬性刪除標題欄并使窗體無邊框。 基本上從窗體中刪除所有系統(tǒng)控件。
 - opacitymask="White" - 此屬性使指定的背景顏色不受窗體的影響。
 
完成,教程完成。 通過這樣做,您可以將圖像作為窗體形狀。 為您的窗體賦予創(chuàng)意。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支持。
欄 目:C#教程
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5086.html
您可能感興趣的文章
- 01-10C#通過反射獲取當前工程中所有窗體并打開的方法
 - 01-10WinForm限制窗體不能移到屏幕外的方法
 - 01-10C#自定義簽名章實現(xiàn)方法
 - 01-10winform實現(xiàn)創(chuàng)建最前端窗體的方法
 - 01-10C#實現(xiàn)由四周向中心縮小的窗體退出特效
 - 01-10WinForm實現(xiàn)自定義右下角提示效果的方法
 - 01-10C#實現(xiàn)自定義windows系統(tǒng)日志的方法
 - 01-10C#自定義事件監(jiān)聽實現(xiàn)方法
 - 01-10C#編程實現(xiàn)自定義熱鍵的方法
 - 01-10C#實現(xiàn)主窗體最小化后出現(xiàn)懸浮框及雙擊懸浮框恢復原窗體的方
 


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
 - 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
 - 01-10WinForm限制窗體不能移到屏幕外的方法
 - 01-10WinForm繪制圓角的方法
 - 01-10C#實現(xiàn)txt定位指定行完整實例
 - 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
 - 01-10C#停止線程的方法
 - 01-10C#實現(xiàn)清空回收站的方法
 - 01-10C#通過重寫Panel改變邊框顏色與寬度的
 - 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
 
隨機閱讀
- 08-05織夢dedecms什么時候用欄目交叉功能?
 - 01-11ajax實現(xiàn)頁面的局部加載
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 01-10SublimeText編譯C開發(fā)環(huán)境設置
 - 01-10delphi制作wav文件的方法
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 04-02jquery與jsp,用jquery
 - 01-10C#中split用法實例總結(jié)
 


