簡體   English   中英

如何克隆動畫筆刷?

[英]How to Clone animated Brush?

我有一個動畫的Brush對象,我想克隆此畫筆。

ColorAnimation ani = new ColorAnimation(Colors.White, TimeSpan.FromSeconds(1))
{ RepeatBehavior = RepeatBehavior.Forever, AutoReverse = true };

SolidColorBrush brush1 = new SolidColorBrush(Colors.Black);
brush1.BeginAnimation(SolidColorBrush.ColorProperty, ani);

SolidColorBrush brush2 = brush1.Clone();

// brush2 is not an animated Brush

if (!brush2.HasAnimatedProperties)
    MessageBox.Show("I don't want this!");

正如MSDN庫所說(Brush.Clone方法):

創建此Brush的可修改克隆,從而復制該對象的值。 復制依賴項屬性時,此方法復制資源引用和數據綁定(但它們可能不再解析),但不復制動畫或其當前值。

那么,克隆動畫畫筆的最佳方法是什么? 謝謝。

一種可靠的方法可能是擴展Brush類並在派生類中實現ICloneable

然后,您的自定義Clone方法可以處理任何您需要克隆的克隆。

您需要在克隆上重新創建動畫。 沒有別的辦法了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM