自定義WPF窗體形狀

来源:https://www.cnblogs.com/bruceday/archive/2018/09/06/9600680.html
-Advertisement-
Play Games

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


介紹

你好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文件。

Selection.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窗體形狀源代碼下載


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 線程 線程指的就是代碼的執行過程 進程其實是一個資源單位,而進程內的線程才是CPU上的執行單位 在傳統操作系統中,每個進程有一個地址空間,而且預設就有一個控制線程 線程顧名思義,就是一條流水線工作的過程,一條流水線必須屬於一個車間,一個車間的工作過程是一個進程 車間負責把資源整合到一起,是一個資源單 ...
  • 不論你是初入江湖,還是江湖老手,只要你想給自己一個定位那就少不了面試!面試的重要性相信大家都知道把,這就是我們常說的“第一印象”,給大家說一下我的面試心得把,面試前的緊張是要的,因為這能讓你充分準備。面試時的緊張是絕對要避開的,因為這可能導致你不能充分展現自己,說不定塑普都出來了。 分享個笑話舒緩一 ...
  • 通過GET得到參數數據 $_SERVER['QUERY_STRING'] 獲取?後面的值 $_SERVER['SCRIPT_NAME'] 獲取當前腳本的路徑 具體參數通過_GET['參數']獲得 通過POST得到參數數據 file_get_contents("php://input") 獲取?後面的 ...
  • 前言 先看效果圖: 思路 1.確認訪問的URL 2.模擬登錄你的QQ號 3.判斷好友空間是否加了許可權,切換到說說的frame,爬取當前頁面數據,下拉滾動條,翻頁繼續獲取 爬取的內容寫入本地TXT文件中 4.爬取到最後一頁,讀取TXT文件從而生成詞雲 具體分析 1.確認訪問的URL 這就很簡單了,我們 ...
  • 算術運算符 +:兩個操作數相加,例:2+3得5 -:第一個操作數減去第二個操作數 例:5-3得2 *:兩個操作數相乘,例:2*3得6 /:分子除以分母,例:5/2得2 %:取模運算符,整除後的餘數,例:5%2得1 ++:自增運算符,整數值增加1,例:i++ --:自減運算符,整數值減少1,例:i-- ...
  • 一、前言 當 asp.net core 發佈以後,實現了跨平臺。基於好奇,我就測試了一下 core 項目部署到 linux 伺服器。感覺一路還是有所收穫,接下來記錄一下操作流程。 工具:window 10、vs2017、centos 7、core 2.1.3 參考博客:Rabbit_Yi 、進擊的辣 ...
  • Token的合約代碼我們參考Token-Factory的代碼。 打開 https://remix.ethereum.org/#optimize=false&version=soljson-v0.4.24+commit.e67f0147.js 把運行的abi 或者參數方法拿到 打開 Geth 客戶端輸 ...
  • 首先以太坊預設的快速同步模式 我們需要先設置當前同步模式記憶體大小512-2048範圍 在伺服器配置情況下最大化記憶體 輸入以下命令 最快同步模式也是 保證最快同步區塊的方法 如果怕錢包卡死或這無響應 那就在同一個區塊區域內佈置多節點 如果一個掛掉立馬重寫啟動行的錢包繼續同步 保證交易所的運行 例如火幣 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...