FrameworkContentElement.BeginStoryboard Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sağlanan görsel taslakta yer alan eylemlerin sırasını başlatır.
Aşırı Yüklemeler
BeginStoryboard(Storyboard) |
Sağlanan görsel taslakta yer alan eylemlerin sırasını başlatır. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Sağlanan görsel taslakta yer alan eylemlerin sırasını başlatır ve özellik zaten animasyonluysa ne olması gerektiğiyle ilgili seçenekler belirtilir. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Sağlanan görsel taslakta yer alan eylemlerin sırasını, başlatıldıktan sonra animasyonun denetimi için belirtilen durumla başlatır. |
BeginStoryboard(Storyboard)
Sağlanan görsel taslakta yer alan eylemlerin sırasını başlatır.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)
Parametreler
- storyboard
- Storyboard
Başlamak için görsel taslak.
Açıklamalar
, parametresini kullanmayan isControllable
imzalar için veya bu parametre belirtildiğinde false
, animasyonla ilişkili zaman çizelgesi saatleri "Dolgu" dönemine ulaşır ulaşmaz kaldırılır. Bu nedenle animasyon bir kez çalıştırıldıktan sonra yeniden başlatılamaz. Bir animasyonu denetlemenin ayrıca görsel taslak olarak adlandırılabilmesini veya kodda örnek olarak erişilebilir olmasını gerektirdiğini unutmayın.
Şunlara uygulanır
BeginStoryboard(Storyboard, HandoffBehavior)
Sağlanan görsel taslakta yer alan eylemlerin sırasını başlatır ve özellik zaten animasyonluysa ne olması gerektiğiyle ilgili seçenekler belirtilir.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)
Parametreler
- storyboard
- Storyboard
Başlamak için görsel taslak.
- handoffBehavior
- HandoffBehavior
Görsel taslakta açıklanan bir özellik zaten animasyonluysa kullanılacak davranışı açıklayan sabit listesi değeri.
Açıklamalar
, parametresini kullanmayan isControllable
imzalar için veya bu parametre belirtildiğinde false
, animasyonla ilişkili zaman çizelgesi saatleri "Dolgu" dönemine ulaşır ulaşmaz kaldırılır. Bu nedenle animasyon bir kez çalıştırıldıktan sonra yeniden başlatılamaz. Bir animasyonu denetlemenin ayrıca görsel taslak olarak adlandırılabilmesini veya kodda örnek olarak erişilebilir olmasını gerektirdiğini unutmayın.
HandoffBehavior.Compose Özelliğini Kullanma
kullanarakHandoffBehaviorCompose bir Storyboardözelliğe , AnimationTimelineveya uyguladığınızdaAnimationClock, daha önce bu özellikle ilişkilendirilmiş tüm Clock nesneler sistem kaynaklarını kullanmaya devam eder; zamanlama sistemi saatleri otomatik olarak kaldırmaz.
kullanarak Composeçok sayıda saat uyguladığınızda performans sorunlarını önlemek için, oluşturma saatlerini tamamlandıktan sonra animasyonlu özellikten kaldırmanız gerekir. Saati kaldırmanın birkaç yolu vardır:
Bir özellikten tüm saatleri kaldırmak için animasyonlu nesnenin ApplyAnimationClock(DependencyProperty, AnimationClock) veya BeginAnimation(DependencyProperty, AnimationTimeline) yöntemini kullanın. Animasyonlu özelliğini ilk parametre, ikinci parametre
null
olarak belirtin. Bu, özelliğinden tüm animasyon saatlerini kaldırır.Belirli bir saat listesinden belirli AnimationClock bir kaldırmak için özelliğini AnimationClock kullanarak Controller bir ClockControlleralın ve yöntemini çağırın RemoveClockController. Bu genellikle bir saat için olay işleyicisinde Completed yapılır. Yalnızca kök saatlerin bir ClockControllertarafından denetlenebileceğini unutmayın; Controller alt saatin özelliği döndürür
null
. Ayrıca, saatin geçerlilik süresi sonsuza kadar ise olayın tetiklenmediğini unutmayın Completed . Bu durumda, kullanıcının çağrısının Removene zaman gerektiğini belirlemesi gerekir.
Bu öncelikle yaşam süresi uzun olan nesnelerdeki animasyonlar için bir sorundur. Bir nesne çöp toplandığında, saatlerinin bağlantısı kesilir ve çöp toplanır.
Saat nesneleri hakkında daha fazla bilgi için bkz. Animasyon ve Zamanlama Sistemine Genel Bakış.
Şunlara uygulanır
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Sağlanan görsel taslakta yer alan eylemlerin sırasını, başlatıldıktan sonra animasyonun denetimi için belirtilen durumla başlatır.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)
Parametreler
- storyboard
- Storyboard
Başlamak için görsel taslak.
- handoffBehavior
- HandoffBehavior
Görsel taslakta açıklanan bir özellik zaten animasyonluysa kullanılacak davranışı açıklayan sabit listesi değeri.
- isControllable
- Boolean
Animasyon başlatıldıktan sonra denetlenebilir (duraklatılabilir) olup olmadığını bildirir.
Açıklamalar
, parametresini kullanmayan isControllable
imzalar için veya bu parametre belirtildiğinde false
, animasyonla ilişkili zaman çizelgesi saatleri "Dolgu" dönemine ulaşır ulaşmaz kaldırılır. Bu nedenle animasyon bir kez çalıştırıldıktan sonra yeniden başlatılamaz. Bir animasyonu denetlemenin ayrıca görsel taslak olarak adlandırılabilmesini veya kodda örnek olarak erişilebilir olmasını gerektirdiğini unutmayın.
HandoffBehavior.Compose Özelliğini Kullanma
kullanarakHandoffBehaviorCompose bir Storyboardözelliğe , AnimationTimelineveya uyguladığınızdaAnimationClock, daha önce bu özellikle ilişkilendirilmiş tüm Clock nesneler sistem kaynaklarını kullanmaya devam eder; zamanlama sistemi bu saatleri otomatik olarak kaldırmaz.
kullanarak Composeçok sayıda saat uyguladığınızda performans sorunlarını önlemek için, oluşturma saatlerini tamamlandıktan sonra animasyonlu özellikten kaldırmanız gerekir. Saati kaldırmanın birkaç yolu vardır:
Bir özellikten tüm saatleri kaldırmak için animasyonlu nesnenin ApplyAnimationClock(DependencyProperty, AnimationClock) veya BeginAnimation(DependencyProperty, AnimationTimeline) yöntemini kullanın. Animasyonlu özelliğini ilk parametre, ikinci parametre
null
olarak belirtin. Bu, özelliğinden tüm animasyon saatlerini kaldırır.Belirli bir saat listesinden belirli AnimationClock bir kaldırmak için özelliğini AnimationClock kullanarak Controller bir ClockControlleralın ve yöntemini çağırın RemoveClockController. Bu genellikle bir saat için olay işleyicisinde Completed yapılır. Yalnızca kök saatlerin bir ClockControllertarafından denetlenebileceğini unutmayın; Controller alt saatin özelliği döndürür
null
. Ayrıca, saatin geçerlilik süresi sonsuza kadar ise olayın tetiklenmediğini unutmayın Completed . Bu durumda, kullanıcının çağrısının Removene zaman gerektiğini belirlemesi gerekir.
Bu öncelikle yaşam süresi uzun olan nesnelerdeki animasyonlar için bir sorundur. Bir nesne çöp toplandığında, saatlerinin bağlantısı kesilir ve çöp toplanır.
Saat nesneleri hakkında daha fazla bilgi için bkz. Animasyon ve Zamanlama Sistemine Genel Bakış.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin