ommaviy double ArcThickness { olish ; to'plam ; }
Ammo WPF da biz qaramlik xususiyatlaridan foydalanamiz. Bu animatsiya, uslub, bogʻlash va h.k. imkonini beradi.
Solution Explorer-ga o'ting va CircularAnimation.cs (CircularAnimation.xaml ostida) ga o'ting yoki F7 tugmasini bosamiz
umumiy ikki tomonlama ArcThickness
{
get { return ( double )GetValue (ArcThicknessProperty); }
set { SetValue(ArcThicknessProperty, qiymat); }
}
// DependencyProperty-dan ArcThickness uchun qo'llab-quvvatlovchi do'kon sifatida foydalanish. Bu animatsiya, uslublar, bog'lash va hokazolarni ta'minlaydi ...
umumiy statik faqat oʻqish DependencyProperty ArcThicknessProperty =
DependencyProperty.Register( "ArcThickness" , typeof ( double ),
typeof (CircularAnimation),
yangi PropertyMetadata (30D,
new PropertyChangedCallback(ThicknessChange)));
xususiy statik bo'shliq ThicknessChange(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
(d CircularAnimation sifatida ).arc.ArcThickness = ( double )e.NewValue;
}
Yuqoridagi kod nima qilishini tushunib olaylik ArcThickness xususiyati bizga dizayn uchun foydalangan Arc boshqaruvining qalinligini o'zgartirishga imkon beradi.
ArcThickness xususiyati (8-qator) qiymatlarni ro'yxatga olish uchun DependencyProperty-ni yaratadi.
> DependencyProperty.Register -dagi birinchi argument ro'yxatdan o'tish uchun xususiyat nomini belgilaydi
> Ikkinchi argument xususiyatning ma'lumotlar turini belgilaydi
> Uchinchi argument mulk egasini bildiradi, u sinf nomi bo'ladi
> To'rtinchi argument xususiyatning metama'lumotlarini aniqlaydi, ( 11- qatorda) biz Arcning standart qiymatini beramiz va biz PropertyChangeCallback ni belgilaymiz (bu xususiyat qiymati o'zgarganda, u funktsiyani chaqiradi)
Qiymat o'zgartirilganda ThicknessChange (14-satr) chaqiriladi, biz Arc boshqaruvining qalinligini yangi qiymat bilan o'zgartiramiz.
Ko'rinish va his qilish (UI) ga muvofiq boshqaruv rangini o'zgartirishga imkon beradigan yana bir xususiyat yaratamiz.
umumiy cho'tka bilan to'ldirish
{
get { return (Brush) GetValue (FillProperty); }
set { SetValue(FillProperty, qiymat); }
}
// To'ldirish uchun qo'llab-quvvatlovchi do'kon sifatida DependencyProperty-dan foydalanish. Bu animatsiya, uslublar, bog'lash va hokazolarni ta'minlaydi ...
umumiy statik faqat o'qish DependencyProperty FillProperty =
DependencyProperty.Register( "To'ldirish" , typeof (cho'tka),
typeof (CircularAnimation),
yangi PropertyMetadata ( yangi SolidColorBrush (DefaultColor),
yangi PropertyChangedCallback(ArcFill)));
xususiy statik bekor ArcFill(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
(d CircularAnimation sifatida ).arc.Fill = (Brush)e.NewValue;
}
xususiy statik Color DefaultColor => (Color)ColorConverter.ConvertFromString( "#FF27B2D1" ); //yaqindagi moviy rang
Biz egalik xususiyatini yaratish uchun ekspert usulidan foydalanamiz
propdp yozib va tab ni ikki marta bosamiz, u biz uchun bog'liqlik xususiyatini yaratadi.
Boshqaruvning asosiy dizayni tugallandi, endi biz animatsiya yaratamiz va buning uchun WPF Storyboard (vaqt jadvaliga asoslangan animatsiya) mavjud.
Dizayn ko'rinishiga qaytamiz (SHIFT + F7 tugmalar)
Biz boshqaruvimizga Storyboard animatsiyasini qo'shamiz
Agar diqqat bilan qaraydigan bo'lsak, ikkita senariy bor edi (biri yoyni tugatish, ikkinchisi - aylanish).
Do'stlaringiz bilan baham: |