示例#1
0
 /// <summary>
 /// Set ToolTip from content with specified delay to parent.
 /// </summary>
 /// <param name="target">Target which ToolTip will be set.</param>
 /// <param name="toolTipText">The tool tip text.</param>
 internal static void SetToolTip(FrameworkElement target, string toolTipText)
 {
     SetToolTip(target, DrawingTools.GetText(toolTipText));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ComponentDrawing"/> class.
        /// </summary>
        /// <param name="item">The item.</param>
        public ComponentDrawing(DiagramItem item)
            : base(item)
        {
            InitializeComponent();

            DrawingTools.SetImage(ComponentIcon, Image);

            TypeName.Text   = Definition.DrawedType;
            InstanceID.Text = Definition.ID;

            var properties = Definition.Properties.OrderBy((prop) => prop.Name);

            string definingAssembly = null;
            string removedBy        = null;
            var    isEntryInstance  = false;

            foreach (var property in properties)
            {
                var value = property.Value;
                var name  = property.Name;

                switch (name)
                {
                case "EntryInstance":
                    isEntryInstance = true;
                    break;

                case "Removed":
                    removedBy = value;
                    break;

                case "DefiningAssembly":
                    definingAssembly = value;
                    break;

                default:
                    var prefix        = value == null || value == "" ? name : name + ": ";
                    var propertyBlock = new TextBlock();
                    propertyBlock.Text = prefix + value;
                    Properties.Children.Add(propertyBlock);
                    break;
                }
            }

            if (isEntryInstance)
            {
                BorderBrush     = Brushes.DarkGreen;
                BorderThickness = new Thickness(6);
            }

            var isRemoved = removedBy != null;

            if (isRemoved)
            {
                DrawingTools.SetImage(RemoveIcon, RemoveImage);
                DrawingTools.SetToolTip(RemoveIcon, DrawingTools.GetText("Component has been removed " + removedBy));
            }

            if (definingAssembly != null)
            {
                var assembly = DrawingTools.GetHeadingText("Defining assembly", definingAssembly);
                DrawingTools.SetToolTip(TypeName, assembly);
            }

            RemoveIcon.Visibility = isRemoved ? Visibility.Visible : Visibility.Hidden;
        }