/// <summary> /// 用于附加属性的演示 /// </summary> public class MyAttachedProperty { // 获取附加属性 public static string GetSubTitle(DependencyObject obj) { return (string)obj.GetValue(SubTitleProperty); //获取依赖属性的值 } // 设置附加属性 public static void SetSubTitle(DependencyObject obj, string value) { obj.SetValue(SubTitleProperty, value); //设置依赖属性的值 } // 注册一个附加属性 public static readonly DependencyProperty SubTitleProperty = DependencyProperty.RegisterAttached( "SubTitle", // 附加属性的名称 typeof(string), // 附加属性的数据类型 typeof(MyAttachedProperty), // 附加属性所属的类 new PropertyMetadata("", PropertyMetadataCallback)); // 指定附加属性的默认值,以及值发生改变时所调用的方法 private static void PropertyMetadataCallback(DependencyObject sender, DependencyPropertyChangedEventArgs args) { object newValue = args.NewValue; // 发生改变之后的值 object oldValue = args.OldValue; // 发生改变之前的值 } }
转载于:https://www.cnblogs.com/jiehu/p/3517835.html