附加属性的不同使用方式

简介: 原文:附加属性的不同使用方式     [AttachedPropertyBrowsableForType(typeof(ButtonBase))] public static void SetIsClearTextButtonBehaviorEnabled(Button obj, bool value) { obj.
原文: 附加属性的不同使用方式

    [AttachedPropertyBrowsableForType(typeof(ButtonBase))]
      public static void SetIsClearTextButtonBehaviorEnabled(Button obj, bool value)
       {
           obj.SetValue(IsClearTextButtonBehaviorEnabledProperty, value);
       }    
      public static void SetIsClearTextButtonBehaviorEnabled(DependencyObject obj, bool value)
       {
           obj.SetValue(IsClearTextButtonBehaviorEnabledProperty, value);
       }

 

      1.一旦将设置方法的第一个参数修改为某个控件,则只能适用于自己,DependencyObject适用于全部

      2.AttachedPropertyBrowsableForType 专供某类型访问

目录
相关文章
|
4月前
|
Java 数据库连接 数据库
|
5月前
|
缓存 编解码 监控
reservedCodecCacheSize属性详解与配置建议
reservedCodecCacheSize属性详解与配置建议
|
JavaScript 前端开发
计算属性和监视属性的区别
计算属性和监视属性的区别
|
Shell Linux
附加到文件
附加到文件
48 1
|
数据库
因祸得福——创建视图时改变字段的类型
因祸得福——创建视图时改变字段的类型
145 0
属性传递
属性传递
71 0
lodash创建一个函数属性名称的数组,包含继承属性
lodash创建一个函数属性名称的数组,包含继承属性
92 0
|
存储 Kotlin
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
226 0
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
接口的讲解-强制约束-可选属性-任意多个属性-只读属性
接口的讲解-强制约束-可选属性-任意多个属性-只读属性
|
C++
浅析C++的引用与const指针与各种传递方式
转自:https://www.jb51.net/article/120561.htm   首先我们知道 const int *p 与 int const *p 是一样的,即 *p 是常量; 而 int * const p 跟上面是不一样的,即 p 是常量; 我们知道引用只是一个别名,与变量共享存储空间,并且必须在定义的时候初始化,而且不能再成为别的变量的别名,这让我们想到什么呢,貌似跟  int * const p   的性质很像。
1214 0