依赖属性
(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依赖项属性示例源代码
wpf实现数据绑定Binding实现数据绑定、依赖属性
演示了WPF占用依赖属性的使用,以及优先级: 属性系统强制转换>动画>本地值>触发器>Setter>继承>依赖属性元数据的默认值 环境:.Net 4.0 framework
示例描述:本章介绍WPF中的依赖属性和事件路由特性。 AttachedEvents 使用WPF的附加事件。 CaptureMouseDemo 捕捉鼠标示例。 CreateWPFDependencyProperty 创建WF中的依赖属性。 CustomRoutedEvent ...
WPF源码:依赖属性回调、验证及强制值.rar WPF源码:依赖属性回调、验证及强制值.rar
依赖属性详解,有源码 //传入ownerType增加Owner public DependencyProperty AddOwner(Type ownerType) { return AddOwner (ownerType, null); } //增加所有者,根据ownerType和typeMetadata public ...
WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C# WPF 依赖属性 DependencyProperty C#
本概述介绍 WPF 属性系统以及依赖项属性的功能,这包括如何在可扩展应用程序标记语言 (XAML) 中和代码中使用现有的依赖项属性。..... (更多资源:http://cleopard.download.csdn.net/) (福利:...
WPF控件依赖项属性与子控件提供 WPF SubControl 依赖项属性 子控件
VB.NET做的一个WPF的Demo,做了个控件。像是Windows图标一样.图片加文字,移动到图片上,图片会放大。这个demo也说明了如何建立一个自定义的属性,并把UserControl中的控件属性绑定到自己定义的属性中。
WPF源码:只读依赖属性.rar WPF源码:只读依赖属性.rar
wpf用户组件创建依赖属性demo
深入讲解binding 的目标端 什么对象才能作为binding 的target 以及binding 将把数据送往何处
1.依赖属性和附加属性定义 2.依赖属性和附加属性使用 3.使用WPF mvvm模式和绑定
主要介绍了C#中WPF依赖属性的正确学习方法 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
用Visual Studio 2017 C# WPF DependencyProperty实现依赖属性演示程序2022-02-21
这个是我们老师讲WPF用的PPT,深入浅出,适合初学者对wpf有一个整天的了解。
采用wpf设计软件界面绑定方式对比
关于使用MVVM 自定义控件,依赖属性的双向数据绑定方法,自己在网上找了很久很久,各大搜索都找过,最后总结的方法,希望对大家有作用,少走点弯路