/// <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; }