MahApps.Metro.IconPacks
https://github.com/MahApps/MahApps.Metro.IconPacks
提供了大量的高質量的圖標供WPF使用,極其方便.
時至今日,已包含29個圖標庫,共25914個圖標.
29個圖標庫為:
Bootstrap Icons , Boxicons , Codicons , Entypo+ , Eva Icons , Feather Icons , File Icons , Fontaudio , Font Awesome Free , Fork Awesome , Ionicons , Jam Icons , Material Design Icons , Material Design Icons Light , Material design icons (Google) , Microns , Modern UI Icons , GitHub Octicons , PICOL Icons , Pixelarticons , Radix Icons , Remix Icon , RPG Awesome , Simple Icons , Typicons , Unicons , Vaadin Icons , Weather Icons , Zondicons
其提供了一個圖標檢索程序,用於快速找到需要的圖標,在項目的發布頁,找到 IconPacks.Browser.Release ,即可下載得到
程序界面:
選中任意圖標后,圖標上會出現4個按鈕,分別提供了對圖標不同的使用方式.
在 WPF 中常見的使用方式有兩種:
方式1:通過 Nuget 包使用
直接在 vs 中的 Nuget 包管理器中搜索 MahApps.Metro.IconPacks 即可
除了 MahApps.Metro.IconPacks 這個總包之外,還有許多名稱為"MahApps.Metro.IconPacks.圖標庫名"的分包.
如果只需要用到其中一個或部分圖標包的圖標,那么可以僅安裝所需的分包.
如果需要用到所有的圖標,則可以直接安裝 MahApps.Metro.IconPacks 這個總包,不過代價是程序會引入非常多的dll文件.
在圖標檢索程序中找到所需圖標后,點擊左上角的第一個按鈕,即可將其調用代碼復制到剪切板
例:
復制的內容為:
<iconPacks:PackIconUnicons Kind="_0Plus" />
將這段內容粘貼到 wpf 的 xaml 中即可調用這個圖標,為了方便展示,這里我還為其設置了尺寸和顏色.
別忘了如下圖中的紅框中所示引入其命名空間,
方法2:作為 Svg 數據使用
在實際使用中,通常需要同時使用多個圖標庫的圖標,如果采用方法1,就會引入非常多的dll文件.
如果不想引入 dll 文件(不安裝 Nuget 包),又想使用所有的圖標,就需要使用此方法.
找到圖標后,點擊其第四個按鈕
復制的的內容為:
M18,5h1V6a1,1,0,0,0,2,0V5h1a1,1,0,0,0,0-2H21V2a1,1,0,0,0-2,0V3H18a1,1,0,0,0,0,2ZM12.5,6h-1a3,3,0,0,0-3,3v6a3,3,0,0,0,3,3h1a3,3,0,0,0,3-3V9A3,3,0,0,0,12.5,6Zm1,9a1,1,0,0,1-1,1h-1a1,1,0,0,1-1-1V9a1,1,0,0,1,1-1h1a1,1,0,0,1,1,1Zm8.1-6a1,1,0,0,0-.78,1.18,9,9,0,1,1-7-7,1,1,0,1,0,.4-2A10.8,10.8,0,0,0,12,1,11,11,0,1,0,23,12a10.8,10.8,0,0,0-.22-2.2A1,1,0,0,0,21.6,9Z
這是一串Svg格式的Path數據,WPF中的Path對象可以直接使用:
此方法同樣適用於 Xamarin.Form 中的 Path 對象,代碼略有不同.