private void OnWhitespaceMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { _whitespace.MouseMove -= OnWhitespaceMouseMove; _whitespace.MouseLeftButtonUp -= OnWhitespaceMouseLeftButtonUp; _whitespace = null; _userCard = null; }
private UserCard CreateUserCard(UserVo user, int level) { var userCard = new UserCard {User = user}; double left = Math.Round(HorizontalCenter - (userCard.Width*_itemsLevels[level].Count/2)); userCard.Top = VerticalGap*(level + 1) + userCard.Height*level; userCard.Left = left + userCard.Width*_itemsLevels[level].Proccesed + HorizontalGap*(_itemsLevels[level].Proccesed + 1); userCard.SetValue(FrameworkElement.NameProperty, "UserCard" + _userCardNumber++); Canvas.SetZIndex(userCard, 2); userCard.MouseLeftButtonDown += _mouseLeftButtonDownHandler; _whitespace.Children.Add(userCard); _itemsLevels[level].Proccesed++; foreach (UserVo childUser in user.Users) { UserCard childUserCard = CreateUserCard(childUser, level + 1); var line = new ConnectionLine {ParentUserCard = userCard, ChildUserCard = childUserCard}; Canvas.SetZIndex(line, 1); _whitespace.Children.Add(line); } return userCard; }
public UserCardMover(UIElement whitespace, UserCard userCard, Point position) { _whitespace = whitespace; _userCard = userCard; _whitespacePosition = position; _userCardPosition = new Point(userCard.Left, userCard.Top); whitespace.MouseMove += OnWhitespaceMouseMove; whitespace.MouseLeftButtonUp += OnWhitespaceMouseLeftButtonUp; }