private void Image_MouseMove(object sender, MouseEventArgs e) { if (Picked) { if (Stack.GetAllCardsAfterCard(this).Count() != 0) { Stack.GetAllCardsAfterCard(this).First().Image_MouseMove(Stack.GetAllCardsAfterCard(this).First(), e); } var mousePoint = Mouse.GetPosition(LogicResources.Main); var offsetX = (currentTT == null ? imagePosition.Value.X : imagePosition.Value.X - currentTT.X) + deltaX - mousePoint.X; var offsetY = (currentTT == null ? imagePosition.Value.Y : imagePosition.Value.Y - currentTT.Y) + deltaY - mousePoint.Y; Image.RenderTransform = new TranslateTransform(-offsetX, -offsetY); Zindex = 100; } }
public void Image_MouseUp(object sender, MouseButtonEventArgs e) { Functions.ChangeAllCanvasOfMainStacksZindex(1000); if (Stack.GetAllCardsAfterCard(this).Count() != 0) { Stack.GetAllCardsAfterCard(this).First().Image_MouseUp(Stack.GetAllCardsAfterCard(this).First(), e); } else { if (Stack.Border.Margin.Top >= Mouse.GetPosition(LogicResources.Main).Y) { Functions.GetBackPickedCardToPosition(); } } currentTT = Image.RenderTransform as TranslateTransform; Picked = false; Zindex = Stack.Cards.GetElementPosition(this); }
private void Image_MouseDown(object sender, MouseButtonEventArgs e) { if (Stack.CheckIfCanMove(this)) { if (LogicResources.PickedCards.Count() == 0) { LogicResources.PickedCards = Stack.GetAllCardsFromCardIndexToEndOfTheStack(this); } if (Stack.GetAllCardsAfterCard(this).Count() != 0) { Stack.GetAllCardsAfterCard(this).First().Image_MouseDown(Stack.GetAllCardsAfterCard(this).First(), e); } if (imagePosition == null) { imagePosition = Image.TransformToAncestor(LogicResources.Main).Transform(new Point(0, 0)); } var mousePosition = Mouse.GetPosition(LogicResources.Main); deltaX = mousePosition.X - imagePosition.Value.X; deltaY = mousePosition.Y - imagePosition.Value.Y; Picked = true; } }