示例#1
0
        /// <summary>
        /// Constructor for the Visual class.
        /// </summary>
        /// <param name="mainWindow">Application's main window</param>
        public Visual(MainWindow mainWindow)
        {
            this.mainWindow = mainWindow;
            canvas = mainWindow.MainCanvas;

            VertexSize = 25.0;
            GraphMode = GraphMode.DraggingMode;

            ViewWindow = new ViewWindow(this);
            ViewWindow.Canvas = canvas;
            ViewWindow.MarginLength = 4.0 * VertexSize;

            addedEdge = new Line
            {
                Stroke = edgeBrush,
                StrokeThickness = VertexSize / verticeToEdgeRatio,
                Visibility = Visibility.Hidden,
            };

            canvas.Children.Add(addedEdge);
            Canvas.SetZIndex(addedEdge, 1);

            selectionBox = new Rectangle
            {
                Visibility = Visibility.Collapsed,
                Stroke = new SolidColorBrush(selectionBoxColor),
                StrokeThickness = 1,
            };

            canvas.Children.Add(selectionBox);

            canvas.MouseDown += CanvasMouseDown;
            canvas.MouseUp += CanvasMouseUp;
            canvas.MouseUp += MouseUp;
            canvas.MouseMove += MouseMove;
            canvas.MouseLeave += MouseUp;
            canvas.MouseWheel += MouseZoom;
        }