public void createShadow(Point fromInkableScene) { InkableScene inkableScene = MainViewController.Instance.InkableScene; if (inkableScene != null && DataContext != null && !((DataContext as OperationTypeModel) is OperationTypeGroupModel)) { _currentFromInkableScene = fromInkableScene; _shadow = new OperationTypeView(); _shadow.DataContext = new OperationTypeModel() { Name = (DataContext as OperationTypeModel).Name, IsShadow = true }; _shadow.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); _shadow.Width = this.ActualWidth; _shadow.Height = _shadow.DesiredSize.Height; _shadow.RenderTransform = new TranslateTransform() { X = fromInkableScene.X - _shadow.Width / 2.0, Y = fromInkableScene.Y - _shadow.Height }; inkableScene.Add(_shadow); _shadow.SendToFront(); Rct bounds = _shadow.GetBounds(inkableScene); (DataContext as OperationTypeModel).FireMoved(bounds); } }
void mainPointerManager_Removed(object sender, PointerManagerEvent e) { if (_shadow == null && _manipulationStartTime + TimeSpan.FromSeconds(0.5).Ticks > DateTime.Now.Ticks) { // tapp } if (_shadow != null) { InkableScene inkableScene = MainViewController.Instance.InkableScene; Rct bounds = _shadow.GetBounds(inkableScene); (DataContext as OperationTypeModel).FireDropped(bounds); inkableScene.Remove(_shadow); _shadow = null; } _manipulationStartTime = 0; }