私はアニメーションBrushオブジェクトを持っています。私はCloneこのブラシにします。 MSDNライブラリとしてアニメーションブラシのクローン作成方法
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!");
は(Brush.Clone法)言う:
は、このオブジェクトの値の詳細コピーを作成し、このブラシの変更可能な複製を作成します。依存関係のプロパティをコピーする場合、このメソッドはリソース参照とデータバインディングをコピーしますが、解決できなくなる可能性がありますが、アニメーションや現在の値はコピーされません。
アニメーションブラシを複製するにはどうすればよいですか?おかげさまで
カスタムクローンメソッドの実装方法の例を教えてください。 – gliderkite
さて、ICloneableはかなり単純なインターフェイスです。それは単一のメソッドCloneを公開します。したがって、実装する際には、ソースオブジェクトからプロパティ/フィールドを取るコードを入れてそれらのコピーを作成し、コピーしたものと共に新しいオブジェクトを返します。実装の詳細は、実際に行う必要とそれをどのようにしたいかによって異なります。 –
@usr SolidColorBrushをそのシールとして拡張することはできませんが、Brushを確実に拡張できます。よくチェックしてください。 –