UIElement.Opacity Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur tingkat keburaman objek.
public:
property double Opacity { double get(); void set(double value); };
double Opacity();
void Opacity(double value);
public double Opacity { get; set; }
var double = uIElement.opacity;
uIElement.opacity = double;
Public Property Opacity As Double
<uiElement Opacity="double" .../>
Nilai Properti
double
Nilai antara 0 dan 1,0 yang menyatakan faktor keburaman, dengan 1,0 yang berarti tingkat keburaman penuh dan 0 yang berarti transparan. Nilai defaultnya adalah 1,0.
Contoh
Contoh ini menggunakan Storyboard dan DoubleAnimation untuk menargetkan Opacity
. Ini menganimasikan Opacity
untuk membuat animasi dekoratif khusus aplikasi yang memudar selama durasi satu detik.
<UserControl x:Class="animation_ovw_intro.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<StackPanel>
<StackPanel.Resources>
<!-- Animates the rectangle's opacity. -->
<Storyboard x:Name="myStoryboard">
<DoubleAnimation
Storyboard.TargetName="MyAnimatedRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:1"
AutoReverse="True"
RepeatBehavior="Forever"/>
</Storyboard>
</StackPanel.Resources>
<TextBlock Margin="10">Click on the rectangle to start the animation.</TextBlock>
<Rectangle PointerPressed="Item_Clicked"
x:Name="MyAnimatedRectangle"
Width="100" Height="100" Fill="Blue" />
</StackPanel>
</UserControl>
Keterangan
Ketika Opacity
diatur pada objek yang disarangkan, tingkat keburaman yang efektif untuk penyajian adalah produk dari semua faktor opasitas yang berlaku. Misalnya, jika objek yang memiliki Opacity=0.5
terkandung dalam Kanvas yang juga Opacity=0.5
, nilai efektif Opacity
untuk penyajian adalah 0.25
. Opacity
nilai yang lebih besar dari 1,0 diperlakukan sebagai 1,0 ketika nilai digunakan, meskipun mendapatkan nilai properti akan tetap memberi Anda nilai asli yang lebih besar dari satu. Opacity
nilai yang ditetapkan sebagai kurang dari 0 diperlakukan sebagai 0 saat nilai digunakan. Dalam logika faktor, mengatur ke Opacity
2 untuk membatalkan efek yang dikandung oleh objek dengan 0,5 Opacity
tidak berfungsi; nilai 2 diperlakukan sebagai 1,0 bahkan sebelum faktor objek berlapis dihitung.
Opacity
adalah properti yang terkadang dianimasikan dalam papan cerita status visual, dengan durasi nol. Misalnya, persegi panjang fokus untuk status visual "FocusStates" diatur dengan Opacity="0"
dalam templat kontrol asli, karena Anda tidak ingin persegi ini muncul dalam status default yang tidak berfokus. Tetapi status visual menentukan status "Fokus" durasi nol yang mengatur Opacity ke 1 ketika kontrol menggunakan templat dan status ini telah mendeteksi bahwa itu berfokus pada keyboard.
Opasitas dan pengujian hit
Nilai Opacity
0 tidak mengecualikan objek dari pengujian hit. Perilaku ini dapat berguna untuk membuat overlay gaya peta gambar yang digambar di atas UI lainnya. Misalnya, Anda dapat menggunakan Kanvas yang memiliki dua anak: Persegi panjang yang memiliki Tinggi, Lebar dan Tingkat Keburaman 0, dan akar tata letak UI lainnya yang harus menggambar di bawahnya. Secara default anak-anak Canvas
gambar di atas satu sama lain dalam sistem koordinat absolut yang sama. Pastikan bahwa nilai ZIndex lebih tinggi dari Rectangle
elemen ZIndex
lain (atau nyatakan Rectangle
setelah elemen lain dalam urutan elemen XAML untuk mendapatkan hasil yang sama.) Kawat logika pengujian hit Anda (menggabungkan Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint dan VisualTreeHelper.FindElementsInHostCoordinates ke peristiwa PointerPressed untuk Rectangle
.
Atau, untuk mengecualikan objek dari pengujian hit, Anda harus mengatur IsHitTestVisible ke false
, daripada menggunakan Opacity
.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk