1. 程式人生 > >自定義WPF窗體形狀

自定義WPF窗體形狀

adobe hot blog nop 工具 back enc mask translate

介紹

你好WPF愛好者。 隨著WPF等統一API語言的發明,豐富用戶界面變得非常容易。 創建豐富的用戶界面只是一個想法。 您需要擁有的是創造性思維和最新技術融合。 WPF和Expression Blend在制作豐富的UI應用程序,清晰的圖形和非常好的動畫方面非常有用。

背景

我將要發布的是將窗口矩形形狀塑造成圖像的形狀。 它可以是任何圖像,任何形狀,任何大小,它應該是沒有背景的PNG(便攜式網絡圖形)圖像(白色背景被移除)。

代碼使用

嗯,實現這一點是小菜一碟,但我仍然會提供一個完整的演練過程。

先決條件

  1. .NET FrameWork 3.0或以上
  2. Visual Studio 2008或以上
  3. Adobe Photoshop或者一個圖片編輯工具
  4. 您要使用的圖像文件
  5. XAML相關知識

準備圖片文件

  1. 選擇要用作窗體形狀的圖像文件。
  2. 在大多數圖像編輯工具中,使圖像背景自由是一個非常簡單的過程,但是,我將為Adobe Photoshop解釋它(因為我喜歡該產品)。
  3. 在Adobe Photoshop中打開圖像文件。
  4. 選擇除背景之外的整個圖像。
  5. 復制選擇。
  6. 單擊菜單文件>>新建。 這將顯示一個對話框。 在對話框的“內容”部分中,選擇“透明”,然後單擊“確定”。
  7. 將打開透明背景畫布,將圖像粘貼到那裏並將其另存為PNG文件。

技術分享圖片

現在我們的圖像文件準備就緒,讓我們現在塑造我們的WPF表格。

設置WPF應用

  1. 打開Visual Studio 2008並創建新項目。
  2. 在Visual C#項目模板下,選擇Windows >> WPF應用。
  3. 使用下面的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屬性解釋:

  1. allowstransparency="True" - 設置窗體透明度。
  2. background="Transparent" - 表明背景是透明的。
  3. windowstyle="None" - 此屬性刪除標題欄並使窗體無邊框。 基本上從窗體中刪除所有系統控件。
  4. opacitymask="White" - 此屬性使指定的背景顏色不受窗體的影響。

完成,教程完成。 通過這樣做,您可以將圖像作為窗體形狀。 為您的窗體賦予創意。點擊下載原文和源代碼

自定義WPF窗體形狀