Bagikan melalui


SolidColorBrush Kelas

Definisi

Melukis area dengan warna padat. Warna solid ditentukan oleh nilai Warna .

public ref class SolidColorBrush sealed : Brush
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory, 65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SolidColorBrush final : Brush
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory), 65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SolidColorBrush : Brush
Public NotInheritable Class SolidColorBrush
Inherits Brush
<SolidColorBrush .../>
-or-
<SolidColorBrush>colorString</SolidColorBrush>
- or -
<SolidColorBrush Color="predefinedColorName"/>
- or -
<SolidColorBrush Color="#rgb"/>
- or -
<SolidColorBrush Color="#argb"/>
- or -
<SolidColorBrush Color="#rrggbb"/>
- or -
<SolidColorBrush Color="#aarrggbb"/>
- or -
<SolidColorBrush Color="sc#scR,scG,scB"/>
- or -
<SolidColorBrush Color="sc#scA,scR,scG,scB"/>
Warisan
Object Platform::Object IInspectable DependencyObject Brush SolidColorBrush
Atribut

Contoh

Cara paling umum untuk menggunakan SolidColorBrush adalah dengan menentukan elemen XAML sebagai sumber daya dalam ResourceDictionary, lalu mereferensikan sumber daya tersebut nanti dari bagian lain dari definisi, gaya, atau templat UI menggunakan ekstensi markup {StaticResource} atau ekstensi markup {ThemeResource} .

<ResourceDictionary>
...
    <SolidColorBrush x:Key="BlockBackgroundBrush" Color="#FF557EB9"/>
...
</ResourceDictionary>
<Border Background="{StaticResource BlockBackgroundBrush}" 
    Width="80" Height="80"/>

Ada beberapa cara berbeda untuk mendefinisikan SolidColorBrush sebagai nilai UI sebaris daripada sebagai sumber daya:

  • Pilih warna yang telah ditentukan sebelumnya berdasarkan nama, dan andalkan "pintasan" XAML bahwa warna ini akan membuat SolidColorBrush saat diurai. Misalnya, Anda dapat mengatur IsianPersegi panjang ke "Merah" seperti ini:
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
  • Buat warna dalam palet warna 32-bit dengan menentukan jumlah merah, hijau, dan biru untuk digabungkan menjadi satu warna solid.
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
SolidColorBrush greenBrush = new SolidColorBrush(Colors.Green);
Windows::UI::Xaml::Media::SolidColorBrush greenBrush{ Windows::UI::Colors::Green() };
auto greenBrush = ref new SolidColorBrush(Colors::Green);

Cara lain untuk menentukan objek SolidColorBrush baru adalah dengan menggunakan metode utilitas statis FromArgb . Ini berguna jika tidak ada nilai bernama Warna untuk warna yang Anda inginkan.

SolidColorBrush myBrush = new SolidColorBrush(Color.FromArgb(255, 20, 20, 90));
Windows::UI::Xaml::Media::SolidColorBrush myBrush{ Windows::UI::ColorHelper::FromArgb(255, 90, 200, 90) };
auto myBrush = ref new SolidColorBrush(ColorHelper::FromArgb(255, 90, 200, 90));

Keterangan

SolidColorBrush adalah jenis Brush paling umum yang digunakan untuk banyak kemungkinan properti UI yang menggunakan Brush untuk mengisi beberapa atau semua area visual objek di UI aplikasi. Contoh beberapa properti yang paling umum digunakan yang menggunakan nilai Brush meliputi: Control.Background, Control.Foreground, Shape.Fill, Control.BorderBrush, Panel.Background, TextBlock.Foreground.

Untuk properti ini, nilai null sering kali dapat diterima, dan memiliki hasil bahwa tidak ada yang dirender di sana. Jika elemen muncul di ruang koordinat yang sama dengan elemen lain, nilai null untuk properti seperti Latar Belakang menyebabkan elemen tersebut tidak mendaftar untuk tujuan pengujian hit, dan menentukan dari mana peristiwa input harus bersumber. Setiap peristiwa pointer, gerakan atau sebagainya yang terjadi pada titik tersebut di ruang koordinat UI hanya dapat dideteksi ketika ada nilai selain null untuk properti Brush yang memengaruhi rendering untuk titik tersebut.

SolidColorBrush dapat dibuat yang menggunakan nilai Transparan , dan meskipun ini tidak secara visual menerapkan perubahan apa pun pada UI (transparan), titik tersebut dapat dideteksi untuk tujuan pengujian hit. Jadi ini berbeda dari properti Brush dengan nilai null . Kuas Transparan dapat berguna untuk teknik seperti membuat wilayah overlay melalui elemen UI tempat Anda ingin mencegat pengujian hit dengan elemen seperti Persegi, Batas , atau panel. Anda mungkin melakukan ini jika elemen di bawahnya tidak dapat melakukan pengujian hit sendiri, tetapi Anda masih ingin mendeteksi peristiwa input. Untuk informasi selengkapnya tentang pengujian hit, lihat bagian "Pengujian hit" dari Interaksi mouse.

Properti yang menggunakan kuas dapat dianimasikan sebagai bagian dari transisi atau animasi dekoratif. Anda biasanya tidak menganimasikan seluruh objek SolidColorBrush, Anda harus menggunakan animasi Objek diskrit dan itu tidak efisien atau estetika. Sebagai gantinya, Anda menggunakan penargetan properti untuk menganimasikan hanya nilai Warna , menggunakan salah satu jenis animasi khusus yang dapat menganimasikan nilai Warna . Ini biasanya melibatkan memiliki .(SolidColorBrush.Color) bagian dari nilai Storyboard.TargetProperty . Untuk informasi selengkapnya tentang penargetan properti dan cara menganimasikan properti yang menggunakan SolidColorBrush atau nilai Brush lainnya, lihat Animasi papan cerita.

SolidColorBrush adalah objek yang dapat dibagikan, seperti jenis Brush turunan lainnya seperti LinearGradientBrush dan ImageBrush. Karena dapat dibagikan, SolidColorBrush terkadang didefinisikan dalam XAML sebagai sumber daya dalam ResourceDictionary XAML. Keuntungan menggunakan sumber daya yang dapat dibagikan dari XAML adalah Anda hanya membuat nilai sekali dan menerapkannya ke beberapa properti.

Menerapkan nilai UIElement.Opacity dapat mengubah tampilan warna properti SolidColorBrush yang diterapkan ke objek. Nilai UIElement.Opacity dapat bernilai kumulatif tergantung pada tata letak objek yang tumpang tindih. Warna muncul seperti yang diharapkan hanya ketika nilai Opacity bersih adalah 1. Ada juga properti Brush.Opacity yang dapat memengaruhi warna yang terlihat sama. Brush.Opacity biasanya dibiarkan pada nilai default 1, kecuali jika sengaja dianimasikan untuk efek memudar atau memudar.

Sikat sebagai sumber daya XAML

Masing-masing jenis Brush yang dapat dideklarasikan dalam XAML (SolidColorBrush, LinearGradientBrush, ImageBrush) dimaksudkan untuk didefinisikan sebagai sumber daya, sehingga Anda dapat menggunakan kembali kuas tersebut sebagai sumber daya di seluruh aplikasi Anda. Sintaks XAML yang ditunjukkan untuk jenis Brush sesuai untuk menentukan kuas sebagai sumber daya. Saat Anda mendeklarasikan kuas sebagai sumber daya, Anda juga memerlukan atribut x:Key yang nantinya akan Anda gunakan untuk merujuk ke sumber daya tersebut dari definisi UI lainnya. Untuk informasi selengkapnya tentang sumber daya XAML dan cara menggunakan atribut x:Key, lihat Referensi sumber daya ResourceDictionary dan XAML.

Keuntungan mendeklarasikan kuas sebagai sumber daya adalah mengurangi jumlah objek runtime yang diperlukan untuk membangun UI: kuas sekarang dibagikan sebagai sumber daya umum yang memberikan nilai untuk beberapa bagian grafik objek.

Jika Anda melihat definisi templat kontrol yang ada untuk kontrol Windows Runtime XAML, Anda akan melihat bahwa templat menggunakan sumber daya kuas secara luas. Banyak dari sumber daya ini adalah sumber daya sistem, dan mereka menggunakan ekstensi markup {ThemeResource} untuk referensi sumber daya daripada ekstensi markup {StaticResource}. Untuk informasi selengkapnya tentang cara menggunakan kuas sumber daya sistem di XAML templat kontrol Anda sendiri, lihat sumber daya tema XAML.

Konstruktor

SolidColorBrush()

Menginisialisasi instans baru kelas SolidColorBrush tanpa warna.

SolidColorBrush(Color)

Menginisialisasi instans baru kelas SolidColorBrush dengan Warna yang ditentukan.

Properti

Color

Mendapatkan atau mengatur warna SolidColorBrush ini.

ColorProperty

Mengidentifikasi properti dependensi Warna .

Dispatcher

Selalu kembali null di aplikasi SDK Aplikasi Windows. Gunakan DispatcherQueue sebagai gantinya.

(Diperoleh dari DependencyObject)
DispatcherQueue

DispatcherQueue Mendapatkan yang dikaitkan dengan objek ini. DispatcherQueue mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
Opacity

Mendapatkan atau menetapkan tingkat keburaman Kuas.

(Diperoleh dari Brush)
RelativeTransform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas menggunakan koordinat relatif.

(Diperoleh dari Brush)
Transform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas.

(Diperoleh dari Brush)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Saat ditimpa di kelas turunan, menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga