示例#1
0
        void imageView_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
        {
            ShowImageView imageView = sender as ShowImageView;

            if (imageView == null)
            {
                return;
            }

            if (Math.Abs(e.CumulativeManipulation.Translation.Y) < 15)
            {
                e.Handled = true;
                if (e.CumulativeManipulation.Translation.X < -10)
                {
                    Size  size   = imageView.RenderSize;
                    Point center = imageView.PointToScreen(new Point(imageView.ActualWidth / 2, imageView.ActualHeight / 2));

                    ShowImageModel model = imageView.Model as ShowImageModel;

                    if (model != null)
                    {
                        OnAddImageCommand(center, size, model.Text);
                    }

                    e.Complete();
                }
            }
        }
示例#2
0
        void controlBar_AddImageCommand(object sender, AddObjectEventArgs e)
        {
            ShowImageModel imgModel = new ShowImageModel();

            imgModel.UriPath = e.UriPath;

            Point centerStart = zoomCanvas.PointFromScreen(e.Center);

            Point centerTarget = new Point(zoomCanvas.ActualWidth / 2 + rand.Next(-100, 100),
                                           zoomCanvas.ActualHeight / 2 + rand.Next(-100, 100));

            double orientationStart  = -180;
            double orientationTarget = 0;

            Vector scaleStart  = new Vector(0.1, 0.1);
            Vector scaleTarget = zoomCanvas.ViewScaleInvert;

            GenerateModel(imgModel, centerStart, centerTarget, orientationStart, orientationTarget, scaleStart, scaleTarget);
        }
示例#3
0
        private void GenerateImageControl(string uriPath)
        {
            ShowImageModel imageModel = new ShowImageModel();

            imageModel.UriPath = uriPath;
            imageModel.Text    = uriPath;
            Viewbox vb = new Viewbox();

            vb.Width  = 100;
            vb.Height = 100;
            vb.Margin = new Thickness(20.0);

            ShowImageView imageView = new ShowImageView(imageModel);

            imageView.Background = new SolidColorBrush(Colors.Transparent);

            vb.Child = imageView;

            imageView.IsManipulationEnabled = true;
            imageView.ManipulationDelta    += imageView_ManipulationDelta;

            pnlControls.Children.Add(vb);
        }
示例#4
0
 public ShowImageView(ShowImageModel model)
     : base(model)
 {
     InitializeComponent();
 }