ConnectionPointConverter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Core.Presentation / System / Activities / Core / Presentation / ConnectionPointConverter.cs / 1305376 / ConnectionPointConverter.cs

                            //---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.Activities.Core.Presentation 
{
    using System.Collections.Generic; 
    using System.Windows; 
    using System.Windows.Data;
 
    class ConnectionPointConverter : IMultiValueConverter
    {
        //This converter returns the actual location of the connection point on the panel.
        //values[0] is the Size of the shape, values[1] is the Locatio nof the shape. 
        //Parameters define at what width/height fraction of the shape, should the connectionpoint be located.
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
        { 
            Size shapeSize = (Size)values[0];
            double width = shapeSize.Width; 
            double height = shapeSize.Height;
            Point origin = (Point)values[1];
            double widthFraction = (double)((List < object >)parameter)[0];
            double heightFraction = (double)((List < object >)parameter)[1]; 
            Thickness margin = (Thickness)((List < object >)parameter)[2];
            origin.X += margin.Left; 
            origin.Y += margin.Top; 
            width = width - margin.Left - margin.Right;
            height = height - margin.Top - margin.Bottom; 
            Point connectionPointLocation = new Point(width * widthFraction + origin.X, height * heightFraction + origin.Y);
            return connectionPointLocation;
        }
 
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
        { 
            throw FxTrace.Exception.AsError(new NotImplementedException()); 
        }
 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK