diandian82的专栏

Welcome to my blog. Hope you can get what you want.

Dependency Property

WPF引入了一种新的属性:Dependency属性。Dependency属性的应用贯串在整个WPF当中。Dependency属性根据多个提供对象来决定它的值。并且是及时更新的。提供对象可以是动画,不断地改变它的值。也可以是父元素,它的属性值被继承到子元素。毫无疑问,Dependency属性最大的特点就是内建的变化通知功能。提供Dependency属性功能主要是为了直接从声明标记提供丰富的功能。WPF声明的友好设计的关键是大量的使用属性。如果没有Dependency属性,我们将不得不编写大量的代码。关于WPF的Dependency属性,我们将重点研究如下三个方面:

1、变化通知功能:属性的值被改变后,通知界面进行更新。

2、属性值的继承功能:子元素将继承父元素中对应属性名的值。

3、支持多个提供对象:我们可以通过多种方式来设置Dependency属性的值。

public class TestDependencyProperty:DependencyObject
    
{
        
public static readonly DependencyProperty IsDefaultProperty;
        
static Button btn = null;

        
static TestDependencyProperty()
        
{
            TestDependencyProperty.IsDefaultProperty 
=
                DependencyProperty.Register(
"IsDefault"typeof(bool), typeof(TestDependencyProperty)
                , 
new FrameworkPropertyMetadata(falsenew PropertyChangedCallback(OnIsDefaultChanged)));
        }


        
public TestDependencyProperty(Button b)
        
{
            btn 
= b;
        }


        
public bool IsDefault
        
{
            
get return (bool)GetValue(TestDependencyProperty.IsDefaultProperty); }
            
set { SetValue(TestDependencyProperty.IsDefaultProperty,value); }
        }


        
private static void OnIsDefaultChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        
{
            
if (btn != null)
            
{
                
if ((bool)e.NewValue)
                    btn.Background 
= new SolidColorBrush(Color.FromArgb(2556500));
                
else
                    btn.Background 
= new SolidColorBrush(Color.FromArgb(255,00222));
            }

        }

    }
 
阅读更多
文章标签: wpf null class
上一篇How to use the class in assembly in XAML
下一篇Personal Qualities
想对作者说点什么? 我来说一句

DependencySample

2012年04月10日 46KB 下载

Java读写修改Property

2014年01月09日 4KB 下载

dependency walker 64位版

2013年01月16日 438KB 下载

windows查看dll和exe的dependency工具

2012年05月02日 183KB 下载

springboot整合Mybatis

2017年11月22日 74KB 下载

Dependency Injection in .NET 无水印pdf

2017年10月02日 12.21MB 下载

DependencyWalker

2017年08月15日 599KB 下载

ClassDependencyAnalyzer(CDA)

2012年08月14日 5.9MB 下载

没有更多推荐了,返回首页

关闭
关闭