The first part of your query can be done using dependency properties or added properties.
See the following code example:
public static readonly DependencyProperty ObsoleteAttached = DependencyProperty.RegisterAttached( "ObsoleteAttached", typeof(Boolean), typeof(UserControl1), new UIPropertyMetadata(false) ); public static Boolean GetObsoleteAttached(DependencyObject obj) { return (Boolean)obj.GetValue(ObsoleteAttached); } public static void SetObsoleteAttached(DependencyObject obj, Boolean value) { obj.SetValue(ObsoleteAttached, value); } public Boolean Obsolete { get { return (Boolean)this.GetValue(ObsoleteProperty); } set { this.SetValue(ObsoleteProperty, value); } } public static readonly DependencyProperty ObsoleteProperty = DependencyProperty.Register( "Obsolete", typeof(Boolean), typeof(UserControl1), new PropertyMetadata(false));
Your second part will need more clarification, for example, why do you want Visual Studio or Blend to ignore this property? Besides, what do you mean by "if the dll is missing a visual studio, and the blend ignores this property"? To improve this answer, I will need more detailed information on your part, otherwise it will be mainly guesswork.
You can download the full source code here . The application allows you to select various Image-resources, however, it was made to demonstrate the "requested" purpose.
Further links:
source share