微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在wpf中添加自定义可忽略属性

我想用自定义属性标记任何控件.例如“过时”.

和其他要求我想要微软视觉工作室和混合忽略这个属性

我注意到混合使用mc:Ignorable =“d”并添加了d:DesignerWidth属性.

如何使用自定义属性标记我的控件?如果dll丢失,我需要确定
 visual studio和blend将忽略此属性.

解决方法

您的请求的第一部分可以通过使用依赖项属性或附加属性来完成.

请参阅以下示例代码

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",new PropertyMetadata(false));

您的第二部分需要更多说明,例如为什么您希望Visual Studio或Blend忽略此属性?此外,你是什么意思’如果dll缺少视觉工作室和混合会忽略这个属性’?为了改善这个答案,我需要一些更多的细节,否则它仍然主要是猜测.

您可以下载完整的源代码here.该应用程序允许您选择不同的图像资源,但是,它是为了演示“请求”的目的.

进一步参考:

> Attached Properties Overview
> Dependency Properties Overview
> How exactly do Attached Properties work in WPF?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐