我想用自定义属性标记任何控件。例如“过时”。
还有其他要求我想要微软视觉工作室并混合忽略这个属性!
我注意到混合使用了mc:Ignorable="d"
并添加了d:DesignerWidth
属性。
如何使用自定义属性标记我的控件?如果dll丢失,我需要确定 visual studio和blend将忽略此属性。
答案 0 :(得分:1)
您的请求的第一部分可以通过使用依赖项属性或附加属性来完成。
请参阅以下示例代码:
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));
您的第二部分需要更多说明,例如为什么您希望Visual Studio或Blend忽略此属性?此外,你是什么意思'如果dll缺少视觉工作室和混合会忽略这个属性'?为了改善这个答案,我需要你身边的更多细节,否则它仍然主要是猜测。
您可以下载完整的源代码here。该应用程序允许您选择不同的图像资源,但是,它是为了演示“请求”的目的。
进一步参考: