Ikon di aplikasi Windows
Ikon menyediakan singkatan visual untuk tindakan, konsep, atau produk. Dengan mengompresi makna ke dalam gambar simbolis, ikon dapat melintasi hambatan bahasa dan membantu menghemat sumber daya yang berharga: ruang layar. Ikon yang bagus selaras dengan tipografi dan dengan bahasa desain lainnya. Mereka tidak mencampur metafora, dan mereka hanya berkomunikasi apa yang diperlukan, secepat dan sesering mungkin.
Ikon dapat muncul di dalam aplikasi dan di luarnya. Di dalam aplikasi, Anda menggunakan ikon untuk mewakili tindakan, seperti menyalin teks atau masuk ke halaman pengaturan.
Artikel ini menjelaskan ikon dalam antarmuka pengguna aplikasi Anda. Untuk mempelajari tentang ikon yang mewakili aplikasi Anda di Windows (ikon aplikasi), lihat Ikon aplikasi.
Mengetahui kapan harus menggunakan ikon
Ikon dapat menghemat ruang, tetapi kapan Anda harus menggunakannya?
Gunakan ikon untuk tindakan, seperti memotong, menyalin, menempelkan, dan menyimpan, atau untuk item pada menu navigasi. Gunakan ikon jika mudah bagi pengguna untuk memahami apa arti ikon dan cukup sederhana untuk menjadi jelas dalam ukuran kecil.
Jangan gunakan ikon jika maknanya tidak jelas, atau jika membuatnya jelas memerlukan bentuk yang kompleks.
Gunakan tipe ikon yang tepat
Ada banyak cara untuk membuat ikon. Anda dapat menggunakan font simbol seperti font Segoe Fluent Icons. Anda dapat membuat gambar berbasis vektor Anda sendiri. Anda bahkan dapat menggunakan gambar bitmap, meskipun kami tidak merekomendasikannya. Berikut adalah ringkasan cara menambahkan ikon ke aplikasi Anda.
Untuk menambahkan ikon di aplikasi XAML, Anda menggunakan IconElement atau IconSource.
Tabel ini memperlihatkan berbagai jenis ikon yang berasal dari IconElement dan IconSource.
IconElement | IconSource | Deskripsi |
---|---|---|
AnimatedIcon | AnimatedIconSource | Mewakili ikon yang menampilkan dan mengontrol visual yang dapat menganimasikan sebagai respons terhadap perubahan interaksi pengguna dan status visual. |
BitmapIcon | BitmapIconSource | Mewakili ikon yang menggunakan bitmap sebagai isinya. |
FontIcon | FontIconSource | Mewakili ikon yang menggunakan glyph dari font yang ditentukan. |
IconSourceElement | T/A | Mewakili ikon yang menggunakan IconSource sebagai kontennya. |
ImageIcon | ImageIconSource | Mewakili ikon yang menggunakan gambar sebagai kontennya. |
PathIcon | PathiconSource | Mewakili ikon yang menggunakan jalur vektor sebagai kontennya. |
SymbolIcon | SymbolIconSource | Mewakili ikon yang menggunakan glyph dari SymbolThemeFontFamily sumber daya sebagai kontennya. |
IconElement vs. IconSource
IconElement adalah FrameworkElement, sehingga dapat ditambahkan ke pohon objek XAML sama seperti elemen lain dari UI aplikasi Anda. Namun, ini tidak dapat ditambahkan ke ResourceDictionary dan digunakan kembali sebagai sumber daya bersama.
IconSource mirip dengan IconElement; namun, karena bukan FrameworkElement, iconSource tidak dapat digunakan sebagai elemen mandiri di UI Anda, tetapi dapat dibagikan sebagai sumber daya. IconSourceElement adalah elemen ikon khusus yang membungkus IconSource sehingga Anda dapat menggunakannya di mana saja Anda memerlukan IconElement. Contoh fitur-fitur ini ditampilkan di bagian berikutnya.
Contoh IconElement
Anda dapat menggunakan kelas turunan IconElement sebagai komponen UI mandiri.
Contoh ini menunjukkan cara mengatur glyph ikon sebagai konten Tombol. Atur FontFamily tombol ke SymbolThemeFontFamily
dan properti kontennya ke nilai Unicode dari glyph yang ingin Anda gunakan.
<Button FontFamily="{ThemeResource SymbolThemeFontFamily}"
Content=""/>
Anda juga dapat secara eksplisit menambahkan salah satu objek elemen ikon yang tercantum sebelumnya, seperti SymbolIcon. Ini memberi Anda lebih banyak jenis ikon untuk dipilih. Ini juga memungkinkan Anda menggabungkan ikon dan jenis konten lainnya, seperti teks, jika Anda mau.
<Button>
<StackPanel>
<SymbolIcon Symbol="Play"/>
<TextBlock Text="Play" HorizontalAlignment="Center"/>
</StackPanel>
</Button>
Contoh ini menunjukkan bagaimana Anda dapat menentukan FontIconSource di ResourceDictionary, lalu menggunakan IconSourceElement untuk menggunakan kembali sumber daya di berbagai tempat aplikasi Anda.
<!--App.xaml-->
<Application
...>
<Application.Resources>
<ResourceDictionary>
...
<!-- Other app resources here -->
<FontIconSource x:Key="CertIconSource" Glyph=""/>
</ResourceDictionary>
</Application.Resources>
</Application>
<StackPanel Orientation="Horizontal">
<IconSourceElement IconSource="{StaticResource CertIconSource}"/>
<TextBlock Text="Certificate is expired" Margin="4,0,0,0"/>
</StackPanel>
<Button>
<StackPanel>
<IconSourceElement IconSource="{StaticResource CertIconSource}"/>
<TextBlock Text="View certificate" HorizontalAlignment="Center"/>
</StackPanel>
</Button>
Aplikasi Galeri WinUI 3 mencakup contoh interaktif dari sebagian besar kontrol, fitur, dan fungsi WinUI 3. Dapatkan aplikasi dari Microsoft Store atau dapatkan kode sumber di GitHub
Properti ikon
Anda sering menempatkan ikon di UI Anda dengan menetapkannya ke icon
properti elemen XAML lain. Icon
properti yang menyertakan Source
dalam nama mengambil IconSource; jika tidak, properti mengambil IconElement.
Daftar ini memperlihatkan beberapa elemen umum yang memiliki icon
properti .
Tip
Anda dapat melihat kontrol ini di aplikasi Galeri WinUI 3 untuk melihat contoh bagaimana ikon digunakan bersamanya.
Contoh yang tersisa di halaman ini memperlihatkan cara menetapkan ikon ke icon
properti kontrol.
FontIcon dan SymbolIcon
Cara paling umum untuk menambahkan ikon ke aplikasi Anda adalah dengan menggunakan ikon sistem yang disediakan oleh font ikon di Windows. Windows 11 memperkenalkan font ikon sistem baru, Segoe Fluent Icons, yang menyediakan lebih dari 1.000 ikon yang dirancang untuk bahasa Desain Fasih. Mungkin tidak intuitif untuk mendapatkan ikon dari font, tetapi teknologi tampilan font Windows berarti ikon ini akan terlihat tajam dan tajam pada layar apa pun, pada resolusi apa pun, dan pada ukuran apa pun.
Penting
Keluarga font default
Daripada menentukan FontFamily secara langsung, FontIcon dan SymbolIcon menggunakan keluarga font yang ditentukan oleh SymbolThemeFontFamily
sumber daya tema XAML. Secara default, sumber daya ini menggunakan keluarga font Segoe Fluent Icon. Jika aplikasi Anda dijalankan pada Windows 10, versi 20H2 atau yang lebih lama, keluarga font Segoe Fluent Icon tidak tersedia dan SymbolThemeFontFamily
sumber daya kembali ke keluarga font Aset Segoe MDL2 sebagai gantinya.
Enumerasi simbol
Banyak glyph umum dari SymbolThemeFontFamily
disertakan dalam enumerasi Simbol . Jika glyph yang Anda butuhkan tersedia sebagai Simbol, Anda dapat menggunakan SymbolIcon di mana saja Anda akan menggunakan FontIcon dengan keluarga font default.
Anda juga menggunakan Nama simbol untuk mengatur icon
properti di XAML menggunakan sintaks atribut, seperti ini
<AppBarButton Icon="Send" Label="Send"/>
Tip
Anda hanya dapat menggunakan Nama simbol untuk mengatur icon
properti menggunakan sintaks atribut yang dipersingkat. Semua jenis ikon lainnya harus diatur menggunakan sintaks elemen properti yang lebih panjang, seperti yang ditunjukkan dalam contoh lain di halaman ini.
Ikon font
Hanya sebagian kecil glyph Ikon Fasih Segoe yang tersedia dalam enumerasi Simbol . Untuk menggunakan salah satu glyph lain yang tersedia, gunakan FontIcon. Contoh ini memperlihatkan cara membuat AppBarButton dengan SendFill
ikon .
<AppBarButton Label="Send">
<AppBarButton.Icon>
<FontIcon Glyph=""/>
</AppBarButton.Icon>
</AppBarButton>
Jika Anda tidak menentukan FontFamily, atau Anda menentukan FontFamily yang tidak tersedia pada sistem saat runtime, FontIcon akan kembali ke keluarga font default yang ditentukan oleh SymbolThemeFontFamily
sumber daya tema.
Anda juga dapat menentukan ikon menggunakan nilai Glyph dari font apa pun yang tersedia. Contoh ini menunjukkan cara menggunakan Glyph dari font Segoe UI Emoji.
<AppBarToggleButton Label="FontIcon">
<AppBarToggleButton.Icon>
<FontIcon FontFamily="Segoe UI Emoji" Glyph="▶"/>
</AppBarToggleButton.Icon>
</AppBarToggleButton>
Untuk informasi dan contoh selengkapnya, lihat dokumentasi kelas FontIcon dan SymbolIcon .
Tip
Gunakan halaman Ikonografi di aplikasi Galeri WinUI 3 untuk melihat, mencari, dan menyalin kode untuk semua ikon yang tersedia di Segoe Fluent Icons.
AnimatedIcon
Gerakan adalah bagian penting dari bahasa Desain Fasih. Ikon animasi menarik perhatian ke titik masuk tertentu, memberikan umpan balik dari status ke status, dan menambahkan keseruan ke interaksi.
Anda dapat menggunakan ikon animasi untuk mengimplementasikan ikon ringan berbasis vektor dengan gerakan menggunakan animasi Lottie .
Untuk informasi dan contoh selengkapnya, lihat Ikon animasi dan dokumentasi kelas AnimatedIcon.
PathIcon
Anda dapat menggunakan PathIcon untuk membuat ikon kustom yang menggunakan bentuk berbasis vektor, sehingga selalu terlihat tajam. Namun, membuat bentuk menggunakan Geometri XAML rumit karena Anda harus menentukan setiap titik dan kurva secara individual.
Contoh ini menunjukkan dua cara berbeda untuk menentukan Geometri yang digunakan dalam PathIcon.
<AppBarButton Label="PathIcon">
<AppBarButton.Icon>
<PathIcon Data="F1 M 16,12 20,2L 20,16 1,16"/>
</AppBarButton.Icon>
</AppBarButton>
<AppBarButton Label="Circles">
<AppBarButton.Icon>
<PathIcon>
<PathIcon.Data>
<GeometryGroup>
<EllipseGeometry RadiusX="15" RadiusY="15" Center="90,90" />
<EllipseGeometry RadiusX="50" RadiusY="50" Center="90,90" />
<EllipseGeometry RadiusX="70" RadiusY="70" Center="90,90" />
<EllipseGeometry RadiusX="100" RadiusY="100" Center="90,90" />
<EllipseGeometry RadiusX="120" RadiusY="120" Center="90,90" />
</GeometryGroup>
</PathIcon.Data>
</PathIcon>
</AppBarButton.Icon>
</AppBarButton>
Untuk mempelajari selengkapnya tentang menggunakan kelas Geometri untuk membuat bentuk kustom, lihat dokumentasi kelas dan Memindahkan dan menggambar perintah untuk geometri. Lihat juga dokumentasi Geometri WPF. Kelas Geometri WinUI tidak memiliki semua fitur yang sama dengan kelas WPF, tetapi membuat bentuk sama untuk keduanya.
Untuk informasi dan contoh selengkapnya, lihat dokumentasi kelas PathIcon .
BitmapIcon dan ImageIcon
Anda dapat menggunakan BitmapIcon atau ImageIcon untuk membuat ikon dari file gambar (seperti PNG, GIF, atau JPEG), meskipun kami tidak merekomendasikannya jika opsi lain tersedia. Gambar bitmap dibuat pada ukuran tertentu, sehingga harus ditingkatkan atau diturunkan tergantung pada seberapa besar Anda ingin ikon dan resolusi layar. Ketika gambar diturunkan skalanya (menyusut), gambar dapat tampak buram. Saat ditingkatkan skalanya, skalanya dapat tampak blokir dan dikselerasi.
BitmapIcon
Secara default, BitmapIcon menghapus semua informasi warna dari gambar dan merender semua piksel yang tidak transparan dalam warna Latar Depan . Untuk membuat ikon monokrom, gunakan gambar solid pada latar belakang transparan dalam format PNG. Format gambar lain akan dimuat rupanya tanpa kesalahan tetapi menghasilkan blok solid warna Latar Depan.
<AppBarButton Label="ImageIcon">
<AppBarButton.Icon>
<ImageIcon Source="ms-appx:///Assets/slices3.png"/>
</AppBarButton.Icon>
</AppBarButton>
Anda dapat mengambil alih perilaku default dengan mengatur properti ShowAsMonochrome ke false
. Dalam hal ini, BitmapIcon berperilaku sama dengan ImageIcon untuk jenis file bitmap yang didukung (file SVG tidak didukung).
<BitmapIcon UriSource="ms-appx:///Assets/slices3.jpg"
ShowAsMonochrome="False"/>
Untuk informasi dan contoh selengkapnya, lihat dokumentasi kelas BitmapIcon .
Tip
Penggunaan BitmapIcon mirip dengan penggunaan BitmapImage; lihat kelas BitmapImage untuk informasi selengkapnya yang berlaku untuk BitmapIcon, seperti mengatur properti UriSource dalam kode.
ImageIcon
ImageIcon menunjukkan gambar yang disediakan oleh salah satu kelas turunan ImageSource. Yang paling umum adalah BitmapSource, tetapi seperti yang disebutkan sebelumnya, kami tidak merekomendasikan gambar bitmap untuk ikon karena potensi masalah penskalaan.
Sumber daya Grafik Vektor (SVG) yang dapat diskalakan sangat ideal untuk ikon, karena selalu terlihat tajam pada ukuran atau resolusi apa pun. Anda dapat menggunakan SVGImageSource dengan ImageIcon, yang mendukung mode statis aman dari spesifikasi SVG tetapi tidak mendukung animasi atau interaksi. Untuk informasi selengkapnya, lihat dukungan SVGImageSource dan SVG.
ImageIcon mengabaikan properti Latar Depan , sehingga selalu menampilkan gambar dalam warna aslinya. Karena warna Latar Depan diabaikan, ikon tidak merespons perubahan status visual saat digunakan dalam tombol atau kontrol serupa lainnya.
<AppBarButton Label="ImageIcon">
<AppBarButton.Icon>
<ImageIcon Source="ms-appx:///Assets/slices3.svg"/>
</AppBarButton.Icon>
</AppBarButton>
Untuk informasi dan contoh selengkapnya, lihat dokumentasi kelas ImageIcon .
Tip
Penggunaan ImageIcon mirip dengan kontrol Gambar; lihat kelas Gambar untuk informasi selengkapnya yang berlaku untuk ImageIcon. Salah satu perbedaan penting adalah bahwa dengan ImageIcon, hanya bingkai pertama dari gambar multi-bingkai (seperti GIF animasi) yang digunakan. Untuk menggunakan ikon animasi, lihat AnimatedIcon.
Artikel terkait
Windows developer