[英]How to Clone animated 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.