`
jiasongmao
  • 浏览: 670557 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

WPF中的依赖属性

    博客分类:
  • WPF
阅读更多

依赖属性 (Dependency Property)

.NET Framework 3.0 引入了一个新的属性类型叫依赖属性 , WPF,WF 都在使用依赖属性用来实现样式化 , 数据绑定等 . 我们更多的使用依赖属性是为了让父元素的属性值在逻辑树上慢慢的传递到其子元素中 , 从而可以在整个可是父元素的逻辑子元素中共享属性值 .WF 就是依靠依赖属性来在工作流中的各 Activity 间传递属性值的 . 所以 , 依赖属性内建的传递变更通知的能力是其最大特征 .

什么时候需要定义依赖属性
1〉  如果希望属性可以在Style中设定
2〉  如果希望属性可以数据绑定
3〉  如果希望属性可以由动态资源(DynamicResource)设定
4〉  如果希望从父元素那里获得值
5〉  如果希望属性可以设置动画
6〉  如果希望属性在被修改时能够检测值得有效性,修改后回调
7〉  如果希望使用已有的依赖属性(Metadata override)

示例:
public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }


        public static readonly DependencyProperty StudentProperty = DependencyProperty.Register("Student", typeof(String), typeof(UserControl1), new FrameworkPropertyMetadata("jiasongmao", new PropertyChangedCallback(OnStudentChanged)),new ValidateValueCallback(StudentValidation));


        private static void OnStudentChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            MessageBox.Show("OnStudentChanged");
        }

        private static bool StudentValidation(object value)
        {
            if(value.ToString().Contains("jiasongmao"))
                return true;
            return false;
        }

        public String Student
        {
            get { return GetValue(UserControl1.StudentProperty).ToString(); }

            set { SetValue(UserControl1.StudentProperty, value); }
        }
    }
 
使用:
<local:UserControl1 x:Name="user1" Student="jiasongmaolsakjdflaksd"/>

 

 

分享到:
评论

相关推荐

    WPF 依赖属性依赖属性依赖属性依赖属性

    在Windows Presentation Foundation(WPF)中,依赖属性(Dependency Property)是实现数据绑定(Data Binding)的核心机制之一。依赖属性允许UI元素与数据源之间建立动态的连接,从而实现视图与模型之间的自动同步...

    WPF依赖项属性示例

    **WPF依赖项属性详解与示例** 在Windows Presentation Foundation(WPF)中,依赖项属性(Dependency Property)是框架的核心特性之一,它为UI元素提供了数据绑定、样式设定、动画支持以及事件处理等强大功能。依赖...

    WPF的依赖属性的优先级演示

    在Windows Presentation Foundation (WPF)中,依赖属性是框架的核心特性之一,它们为WPF对象提供了数据绑定、动画、样式和模板等高级功能的基础。这个压缩包文件“WpfDpDemo”很可能是用于演示如何使用依赖属性以及...

    wpf 依赖属性内部机制

    ### WPF依赖属性内部机制详解 #### 一、引言 WPF(Windows Presentation Foundation)是一种用于构建桌面应用程序的技术框架,其核心理念之一是“数据驱动UI”。在WPF中,依赖属性(Dependency Property)是实现...

    示例描述:本章介绍WPF中的依赖属性和事件路由特性

    示例描述:本章介绍WPF中的依赖属性和事件路由特性。 AttachedEvents 使用WPF的附加事件。 CaptureMouseDemo 捕捉鼠标示例。 CreateWPFDependencyProperty 创建WF中的依赖属性。 CustomRoutedEvent ...

    WPF源码:依赖属性回调、验证及强制值.rar

    **WPF(Windows Presentation Foundation) 是微软.NET框架中的一部分,用于构建富客户端应用程序。它提供了丰富的用户界面元素和...通过分析源码,可以更深入地理解WPF依赖属性系统的工作原理及其在实际开发中的应用。

    WPF依赖属性DependencyProperty范例Demo

    WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C#

    wpf依赖属性详解

    依赖属性详解,有源码 //传入ownerType增加Owner public DependencyProperty AddOwner(Type ownerType) { return AddOwner (ownerType, null); } //增加所有者,根据ownerType和typeMetadata public ...

    wpf用户组件创建依赖属性demo

    本示例"wpf用户组件创建依赖属性demo"将指导我们如何为自定义用户组件创建依赖属性,依赖属性是WPF中一种强大的特性,它提供了数据绑定、属性更改通知和动画支持等功能。 依赖属性的核心在于它是WPF中的属性系统,...

    WPF源码:只读依赖属性.rar

    在Windows Presentation Foundation (WPF) 中,依赖属性是框架的核心特性之一,用于实现数据绑定、属性更改通知和其他高级UI功能。这个压缩包“WPF源码:只读依赖属性.rar”很可能包含一个示例项目,演示了如何创建...

    WPF控件依赖项属性与子控件提供

    依赖项属性是WPF中特有的属性类型,它允许属性值的动态改变、数据绑定、动画效果和自定义验证规则。与传统的.NET属性不同,依赖项属性通过注册到系统中来实现,而不是直接在类中定义。这种机制使属性具有许多高级...

    WPF基础知识绑定、样式、依赖属性教程

    在WPF中,数据绑定、样式和依赖属性是三个核心概念,它们极大地提高了开发效率并简化了UI设计。 ### 1. 数据绑定 数据绑定是WPF中的一大特色,它允许UI元素与应用程序的数据模型进行联动,自动更新彼此的状态。WPF...

    依赖属性实现绑定

    在WPF(Windows Presentation Foundation)开发中,依赖属性(Dependency Property)是实现数据绑定的关键机制。依赖属性允许控件的属性与其他对象的数据源保持同步,从而实现数据驱动的用户界面。接下来,我们将...

    WPF 依赖属性和附加属性(定义和使用)

    在Windows Presentation Foundation(WPF)中,依赖属性(Dependency Property)和附加属性(Attached Property)是两个核心概念,它们为数据绑定、属性继承以及自定义控件提供了强大的支持。理解并熟练运用这两个...

    WPF自定义控件 自定义依赖属性Demo

    VB.NET做的一个WPF的Demo,做了个控件。像是Windows图标一样.图片加文字,移动到图片上,图片会放大。这个demo也说明了如何建立一个自定义的属性,并把UserControl中的控件属性绑定到自己定义的属性中。

    事件通知与依赖属性对比实例.zip

    依赖属性是WPF中的一个核心特性,它允许UI元素的属性与数据源直接绑定,实现了属性值的自动更新。依赖属性通过注册机制提供,可以实现属性的继承、回调、改变通知等功能。开发者可以通过`DependencyProperty....

    WPF入门-02依赖属性(附c#代码)

    而WPF依赖属性很好地解决了这个问题,它内部实现使用哈希表存储机制,对多个相同控件的相同属性的值都只保存一份 .支持多种提供对象:可以通过多种方式来设置依赖属性的值。可以配合表达式、样式和绑定来对依赖属性...

    C#中WPF依赖属性的正确学习方法

    在WPF中,依赖属性(Dependency Property)是其核心特性之一,它为属性提供了丰富的功能,如数据绑定、动画、样式和模板支持。正确理解和使用依赖属性对于深入学习WPF至关重要。 依赖属性的概念可能对初学者来说...

    用Visual Studio 2017 C# WPF DependencyProperty实现依赖属性演示程序

    在本文中,我们将深入探讨如何使用Visual Studio 2017、C#和WPF(Windows Presentation Foundation)的DependencyProperty来实现依赖属性。DependencyProperty是WPF框架中的一个核心概念,它允许UI元素和数据之间...

Global site tag (gtag.js) - Google Analytics