WPF附加属性相关用途介绍

开发 开发工具
WPF附加属性可以通过不同的子元素帮助我们在父元素中定义的属性指定唯一值。在这篇文章中我们将会帮助大家详细介绍相关概念。

我们通过对WPF的深入学习,可以知道,WPF中的属性可以分为两种,一种是依赖属性而另外一种则是附加属性。我们在这里将会重点介绍WPF附加属性。#t#

WPF附加属性是允许不同的子元素为 实际在父元素中定义的属性指定***值。例如:

  1. < DockPanel> 
  2. < CheckBox DockPanel.
    Dock
    ="Top">Hello
    < /CheckBox> 
  3. < /DockPanel> 

Dock不是CheckBox的属性,而是定义在DockPanel中的。

用代码使用:

  1. DockPanel myDockPanel = 
    new DockPanel();  
  2. CheckBox myCheckBox = 
    new CheckBox();  
  3. myCheckBox.Content = 
    "Hello";  
  4. myDockPanel.Children.
    Add(myCheckBox);  
  5. DockPanel.SetDock
    (myCheckBox, Dock.Top); 

如何创建WPF附加属性

1. 声明一个 DependencyProperty 类型的 public static readonly 字段,将附加属性定义为一个依赖项属性。

2. 使用 RegisterAttached 方法的返回值来定义此字段。例如:

  1. public class OwerClass : 
    DependencyObject  
  2. {  
  3. public static string 
    GetAttachedPropertyName
    (DependencyObject obj)  
  4. {  
  5. return (string)obj.GetValue
    (AttachedPropertyNameProperty);  
  6. }  
  7. public static void SetAttached
    PropertyName(DependencyObject 
    obj, string value)  
  8. {  
  9. obj.SetValue(AttachedProperty
    NameProperty, value);  
  10. }  
  11. public static readonly 
    DependencyProperty 
    Attached
    PropertyNameProperty
     =  
  12. DependencyProperty.RegisterAttached
    ("AttachedPropertyName", 
    typeof(string), typeof(OwerClass), 
    new UIPropertyMetadata(0));  

WPF附加属性小提示:

可以利用VS2008智能提示:在class里面输入propa,然后按Tab 自动生成基本内容:)

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-23 17:18:45

WPF Attache

2009-12-29 10:11:56

WPF布局属性

2010-02-24 16:52:59

WCF支持WebGet

2009-12-29 13:29:28

WPF Depende

2009-12-25 11:04:51

WPF Border

2010-01-11 15:43:06

VB.NET类属性

2009-12-23 09:26:56

ADO.NET属性

2011-08-16 15:04:15

交换机快速启动

2009-12-29 16:02:48

ADO.NET新特性

2023-09-15 11:49:33

wpf依赖属性

2009-12-28 13:47:35

WPF对话框

2009-12-28 17:54:49

WPF嵌入式资源

2009-12-28 17:48:01

WPF界面布局

2009-12-24 15:22:10

WPF继承自定义窗口

2009-12-24 16:46:42

ADO Connect

2009-12-28 14:51:59

WPF元素树

2014-12-09 10:48:12

openstacknovaNUMA

2009-12-21 13:59:03

ADO.NET特性

2009-12-23 11:24:42

WCF附加属性

2010-03-30 09:04:26

Silverlight依赖属性附加属性
点赞
收藏

51CTO技术栈公众号