Exemplo n.º 1
0
        protected override void OnMouseUp(MouseButtonEventArgs e)
        {
            //if (!Keyboard.IsKeyDown(Key.LeftCtrl))
            //{
            //    foreach (var particle in model.Particles)
            //        particle.Fixed = false;
            //}
            switch (toolKind)
            {
            case ToolKind.MoveSelectedParticles:
                foreach (var particle in model.Particles)
                {
                    var drawData = particle.Tag as DrawData;
                    if (drawData.Selected && !drawData.Pinned)
                    {
                        particle.Fixed = false;
                    }
                }
                break;

            case ToolKind.ScrollView:
                break;

            case ToolKind.SelectRectangle:
                var r = new Rect(mouseDownPosition, e.GetPosition(this));
                foreach (var particle in model.Particles)
                {
                    if (r.Contains(transform.ToScreen(particle.Position)))
                    {
                        (particle.Tag as DrawData).Selected = true;
                    }
                }
                selectionAdorner.Destroy();
                selectionAdorner = null;
                break;
            }
            InvalidateVisual();
            toolKind = ToolKind.None;
            ReleaseMouseCapture();
        }