本文整理汇总了C#中System.Windows.Media.Brush.BeginAnimation方法的典型用法代码示例。如果您正苦于以下问题:C# Brush.BeginAnimation方法的具体用法?C# Brush.BeginAnimation怎么用?C# Brush.BeginAnimation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Brush
的用法示例。
在下文中一共展示了Brush.BeginAnimation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CardDragAdorner
//fix MAINWINDOW bug
public CardDragAdorner(CardControl anchor, CardControl sourceCard, Vector mousePoint)
: base(Program.PlayWindow.Content as UIElement)
{
SourceCard = sourceCard;
bool isCardInverted = anchor.IsOnTableCanvas && (Player.LocalPlayer.InvertedTable ^ anchor.IsInverted);
Point cardOrigin;
if (isCardInverted)
{
CardDef cardDef = Program.Game.Definition.CardDefinition;
cardOrigin = new Point(cardDef.Width, cardDef.Height);
_mouseOffset = new Vector(cardDef.Width - mousePoint.X, cardDef.Height - mousePoint.Y);
}
else
{
cardOrigin = new Point();
_mouseOffset = mousePoint;
}
//fix MAINWINDOW bug
_basePt = anchor.TranslatePoint(cardOrigin, Program.PlayWindow.Content as UIElement);
_faceUp = sourceCard.IsAlwaysUp || sourceCard.Card.FaceUp;
_lightRedBrush = Brushes.Red.Clone();
_faceDownBrush = new ImageBrush(sourceCard.Card.GetBitmapImage(false));
_faceUpBrush = _faceUp
? new VisualBrush(sourceCard.GetCardVisual())
{
Viewbox = new Rect(0, 0, sourceCard.ActualWidth, sourceCard.ActualHeight),
ViewboxUnits = BrushMappingMode.Absolute
}
: (Brush)
new ImageBrush(new BitmapImage(new Uri(Program.Game.Definition.CardDefinition.Front)));
_invertTransform = new ScaleTransform {CenterX = 0.5, CenterY = 0.5};
_faceUpBrush.RelativeTransform = _invertTransform;
if (_faceUpBrush is VisualBrush)
RenderOptions.SetCachingHint(_faceUpBrush, CachingHint.Cache);
_child.BeginInit();
_child.Width = anchor.ActualWidth*CardControl.ScaleFactor.Width;
_child.Height = anchor.ActualHeight*CardControl.ScaleFactor.Height;
_child.Fill = _faceUp ? _faceUpBrush : _faceDownBrush;
_child.StrokeThickness = 3;
var transforms = new TransformGroup();
_child.RenderTransform = transforms;
_rot = sourceCard.Card.Orientation;
if ((_rot & CardOrientation.Rot180) != 0)
{
_rot180Transform = new RotateTransform(180, _child.Width/2, _child.Height/2);
transforms.Children.Add(_rot180Transform);
}
if ((_rot & CardOrientation.Rot90) != 0)
{
_rot90Transform = isCardInverted
? new RotateTransform(90, _child.Width/2, _child.Width/2)
: new RotateTransform(90, _child.Width/2, _child.Height - _child.Width/2);
transforms.Children.Add(_rot90Transform);
}
_translate = new TranslateTransform();
transforms.Children.Add(_translate);
_child.IsHitTestVisible = false;
_child.EndInit();
AddVisualChild(_child);
var animation = new DoubleAnimation(0.55, 0.75, new Duration(TimeSpan.FromMilliseconds(500)))
{AutoReverse = true, RepeatBehavior = RepeatBehavior.Forever};
animation.Freeze();
_faceUpBrush.BeginAnimation(Brush.OpacityProperty, animation);
_faceDownBrush.BeginAnimation(Brush.OpacityProperty, animation);
_lightRedBrush.BeginAnimation(Brush.OpacityProperty, animation);
}