雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

自定義WPF窗體形狀的實戰(zhàn)記錄

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

介紹

你好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)知識

準備圖片文件

  1. 選擇要用作窗體形狀的圖像文件。
  2. 在大多數(shù)圖像編輯工具中,使圖像背景自由是一個非常簡單的過程,但是,我將為Adobe Photoshop解釋它(因為我喜歡該產(chǎn)品)。
  3. 在Adobe Photoshop中打開圖像文件。
  4. 選擇除背景之外的整個圖像。
  5. 復制選擇。
  6. 單擊菜單文件>>新建。 這將顯示一個對話框。 在對話框的“內(nèi)容”部分中,選擇“透明”,然后單擊“確定”。
  7. 將打開透明背景畫布,將圖像粘貼到那里并將其另存為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#基礎系列之ref和out的深入理解

欄    目:C#教程

下一篇:c#基礎系列之值類型和引用類型的深入理解

本文標題:自定義WPF窗體形狀的實戰(zhàn)記錄

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5086.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有