/// <summary>
 /// Initializes a new instance of <see cref="MenuItem"/> for specified name, icon, separator flag and binding flag (false by default).
 /// </summary>
 /// <param name="Name">Item name</param>
 /// <param name="IconName">Icon name</param>
 /// <param name="IconMargin">Icon margin</param>
 /// <param name="IsSeparator">Value that determines is it separator item instead of usual item</param>
 /// <param name="IsNameBinding">Is it binding name</param>
 private MenuItem(string Name, string IconName, Thickness IconMargin, bool IsSeparator, bool IsNameBinding = false)
     : base(Name, IsNameBinding)
 {
     this.IconMargin = IconMargin;
     this.IconName = IconName;
     this.IsSeparator = IsSeparator;
 }
 /// <summary>
 /// Initializes a new instance of <see cref="MenuItem"/> for specified name, icon and binding flag (false by default).
 /// </summary>
 /// <param name="Name">Item name</param>
 /// <param name="IconName">Icon name</param>
 /// <param name="IconMargin">Icon margin</param>
 /// <param name="IsNameBinding">Is it binding name</param>
 public MenuItem(string Name, string IconName, Thickness IconMargin, bool IsNameBinding = false)
     : this(Name, IconName, IconMargin, false, IsNameBinding)
 {
 }
 /// <summary>
 /// Determines whether this instance and another specified <see cref="Thickness"/> are the same
 /// </summary>
 /// <param name="thickness">The object to compare to this instance</param>
 /// <returns><b>True</b> of the object of the obj parameter is the same as the current instance</returns>
 public bool Equals(Thickness thickness)
 {
     return (this == thickness);
 }