private void OnViewport3DMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { DicesViewport.ReleaseMouseCapture(); DicesViewport .Triggers .Cast <EventTrigger>() .First() .Actions .Cast <BeginStoryboard>() .Iter(b => b.Storyboard.Pause(DicesViewport)); Dice1NumberTextBlock.Text = DiceRoll.FirstRollResult.ToString(); Dice2NumberTextBlock.Text = DiceRoll.SecondRollResult.ToString(); WholeMove[] moveOptions = this.BoardState.MoveOptions(DiceRoll, CurrentPlayer).ToArray(); DiskElement[] sourceDisks = moveOptions.Select(m => m.Moves.First().GetDiskAtSourceColumn(DisksVisualState)).ToArray(); foreach (var disk in sourceDisks) { ObjectAnimationUsingKeyFrames a = new ObjectAnimationUsingKeyFrames(); var keyTime = KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 0, 0)); var drawingBrush = Global.GetResource <DrawingBrush>("ChosenDiskBrush"); a.KeyFrames.Add(new DiscreteObjectKeyFrame(drawingBrush, keyTime)); var storyBoard = new Storyboard(); storyBoard.Children.Add(a); storyBoard.FillBehavior = FillBehavior.HoldEnd; Storyboard.SetTarget(a, disk); Storyboard.SetTargetProperty(a, new PropertyPath("Fill")); storyBoard.Begin(); } //Disks.Where(d => optionalColumns.Contains(d.Column)); }
private void OnViewport3DMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { DicesViewport.CaptureMouse(); }