WPF 自定义附加属性
2013-08-09 19:07
399 查看
public static bool GetChangedSatesProperty(DependencyObject obj) { return (bool)obj.GetValue(ChangedSatesProperty); } public static void SetChangedSatesProperty(DependencyObject obj, bool value) { obj.SetValue(ChangedSatesProperty, value); } public static readonly DependencyProperty ChangedSatesProperty = DependencyProperty.RegisterAttached( "ChangedSatesProperty", typeof(bool), typeof(StateManager), new PropertyMetadata((dependencyObject, args) => { var frameworkElement = dependencyObject as FrameworkElement; if (frameworkElement == null && !(bool)args.NewValue) return; if (frameworkElement != null) { frameworkElement .MouseLeftButtonDown += new MouseButtonEventHandler(ChangedSates_MouseLeftButtonDown); } })); static void ChangedSates_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if ((sender as DependencyObject) == null||e.ClickCount!=2) return; var ancestor = DependencyObjectExtensions.FindAncestor<Window>(sender as DependencyObject); if (ancestor != null) ancestor.WindowState = ancestor.WindowState == WindowState.Normal ? WindowState.Maximized : WindowState.Normal; }可以在 frameworkElement .MouseLeftButtonDown += new MouseButtonEventHandler(ChangedSates_MouseLeftButtonDown);处添加任何 对frameworkElement 的操作。比如缓动动画 所有子元素 load 增加 动画。或者 unload的时候增加事件处理。在这里记录下 已被后用
相关文章推荐
- WPF整理-为控件添加自定义附加属性
- [UWP]为附加属性和依赖属性自定义代码段(兼容UWP和WPF)
- WPF整理-为控件添加自定义附加属性
- WPF教程:附加属性
- WPF技巧(2)绑定到附加属性
- WPF设置附加属性的值
- XAML开发WPF程序入门之附加属性和绑定属性
- WPF 自定义依赖属性
- CLR属性、依赖属性与附加属性(WPF)
- WPF原理剖析——依赖属性和附加属性
- WPF自定义组件,自定义属性(依赖属性)
- WPF学习系列023: 3.2.5 附加属性
- WPF 自定义路由事件 与 附加路由事件
- 自定义依赖项属性 附加属性概述 DependencyObject 类
- wpf日历控件制作过程分析(2)---自定义样式属性
- WPF ListView显示GridLine(可选), 通过附加属性修改
- 依赖属性和附加属性的自定义
- WPF技巧(2)绑定到附加属性
- WPF--TextBlock的ToolTip附加属性
- WPF usercontrol 自定义依赖属性