/// <summary>
        /// Zoom content to view. Must be done on IVirtualCanvas due to needing zoom and graph
        /// </summary>
        /// <param name="canvas"></param>
        /// <param name="zoomToContent"></param>
        public static void ZoomToContent(this IMesVirtualCanvas canvas, ZoomToContent zoomToContent)
        {
            Double?zoom = null;

            switch (zoomToContent)
            {
            case Extensions.ZoomToContent.Manual:
                zoom = null;
                break;

            case Extensions.ZoomToContent.Width:
                zoom = canvas.Graph.ViewportWidth / canvas.Graph.Extent.Width;
                break;

            case Extensions.ZoomToContent.Height:
                zoom = canvas.Graph.ViewportHeight / canvas.Graph.Extent.Width;
                break;

            case Extensions.ZoomToContent.WidthAndHeight:
                Double scaleX = canvas.Graph.ViewportWidth / canvas.Graph.Extent.Width;
                Double scaleY = canvas.Graph.ViewportHeight / canvas.Graph.Extent.Height;

                zoom = Math.Min(scaleX, scaleY);
                break;
            }

            if (zoom != null)
            {
                canvas.Zoom.Value = zoom.Value;
                canvas.Zoom.ResetTranslate();
            }
        }
Ejemplo n.º 2
0
        public VirtualCanvasView()
        {
            InitializeComponent();

            DataContextChanged += (s, e) =>
            {
                IMesVirtualCanvas dc = (IMesVirtualCanvas)DataContext;
                Graph.UseDefaultControls(dc);
            };
        }